gpt4 book ai didi

php - 将 CSV 信息推送到表时 SQL DATE 类型变量为 NULL

转载 作者:行者123 更新时间:2023-11-29 10:15:04 25 4
gpt4 key购买 nike

我有一个 CSV 文件,其日期格式为“3/8/2018 9:05:00 AM”。

当日期被插入列类型为“varchar(30)”的表中时,它会变成“3/8/2018 9:05”

当日期被插入列类型为“DATE”的表中时,它会变成“0000-00-00”

我希望我的列采用日期格式,以便我可以根据日期进行排序。我的 CSV 日期是否需要采用“YYYY-MM-DD”格式才能正常工作?

或者

有没有办法将 SQL 表中的“日期”格式更改为“mm/dd/yyy hh:mi:ss”或只是“mm/dd/yyyy”?

现在我唯一的选择似乎是将日期按原样以 varchar 格式推送到 SQL,将所有日期提取并转换为“YYYY-MM-DD”格式并将它们存储在数组中,“更改”我的列格式为“DATE”,然后将我的格式化日期数组推回到新更改的“DATE”列中。

对 SQL 仍然陌生,因此我们将不胜感激。

最佳答案

  1. 将日期/记录转储到临时表(临时表)

  2. 在 SELECT 语句中,使用 STR_TO_DATE 日期函数将字符串日期转换为实际日期,并将实际日期插入目标表中,即SELECT STR_TO_DATE('3/8/2018 9:05:00 AM', '%d/%m/%Y %h:%i:%s %p');

详细信息:INSERT INTO 目标表 (date_col_name) SELECT STR_TO_DATE(date_col_name, '%d/%m/%Y %h:%i:%s %p') FROMtemporary_table;

在此处获取有关日期函数的更多信息: https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date

关于php - 将 CSV 信息推送到表时 SQL DATE 类型变量为 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50236748/

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