gpt4 book ai didi

mysql - 使用默认日期格式创建表?

转载 作者:行者123 更新时间:2023-11-29 04:38:48 24 4
gpt4 key购买 nike

我正在使用加载命令将 CSV 文件中的所有数据插入到 mysql 表中。加载查询示例为:

LOAD DATA LOCAL INFILE 'C:\\path\\to\\windows\\file.CSV'
INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(field1, field2, field3, fieldx);

文件中的数据格式如下:

FName || LName || num1 || num2 || num3|| num4 || num5 || date

  • 这里所有的数字都是Float数据类型。
  • 这里csv文件中date的日期格式是dd-MM-yyyy。

因此,当在数据库中加载完整文件时,我将日期存储为 varchar,因为当我将它们存储在 DATE 数据类型中时,我得到 0000-00-00。

现在插入数据后,我必须处理日期,但我无法获取排序的日期,因为它们存储为 Varchar。有什么方法可以在创建表时指定默认日期格式。例如:

create table test (
mydates date(date : dd-mm-yyyy));

像这样。

或者有人可以建议一种不同的方法来解决这个问题吗?

最佳答案

使用str_to_date 将字符串转换为日期时间对象并使用set 手动设置列的值。假设 fieldx 是您的日期字段:

LOAD DATA LOCAL INFILE 'C:\\path\\to\\windows\\file.CSV'
INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(field1, field2, field3, @fieldx)
SET fieldx = str_to_date(@fieldx, "%d-%m-%Y");

看看 manual page for load data了解更多信息;并使用 this table 调整格式字符串.

关于mysql - 使用默认日期格式创建表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34504505/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com