gpt4 book ai didi

使用 str_to_date 从 .txt 文件读取日期类型时出现 mysql 问题

转载 作者:行者123 更新时间:2023-11-29 23:45:41 24 4
gpt4 key购买 nike

我的任务是将 .txt 文件读入 mySQL 表。这就是我所做的。

CREATE TABLE PERSON(PIDM INT, FNAME VARCHAR(20), LNAME VARCHAR(20), SSN INT(8), DOB DATE, GENDER    CHAR(2));

LOAD DATA LOCAL INFILE '/pathtoTextFile'
INTO TABLE PERSON
FIELDS TERMINATED BY ', '
LINES TERMINATED BY '\n'
IGNORE 1 ROWS
(PIDM, FNAME, LNAME, SSN, @DATE, GENDER)
SET DOB = STR_TO_DATE(@DATE, '%m-%d-%Y');

但是我这样做时收到了一些警告。包括:

+---------+------+-----------------------------------------------------------------+
| Level | Code | Message |
+---------+------+-----------------------------------------------------------------+
| Warning | 1411 | Incorrect datetime value: '12/14/1957' for function str_to_date |
| Warning | 1411 | Incorrect datetime value: '01/13/1969' for function str_to_date |
| Warning | 1264 | Out of range value for column 'SSN' at row 3 |
| Warning | 1411 | Incorrect datetime value: '02/14/1976' for function str_to_date |
| Warning | 1366 | Incorrect integer value: '' for column 'SSN' at row 4 |
| Warning | 1411 | Incorrect datetime value: '03/12/1989' for function str_to_date

我无法弄清楚为什么我从 str_to_date 函数/方法中得到无效日期。这应该是一个学习练习,但我已经做了大约两个小时,但没有取得任何进展。有谁有任何提示或知道我做错了什么?

谢谢

附注目的不是更改 .txt 文件以使其正常工作,而是能够处理不正确的输入。

最佳答案

这取决于源数据,但如果存在 MM/DD/YYYY 和 MM-DD-YYYY 的混合,您可以将不需要的分隔符替换为所需的分隔符,然后转换为日期。

注意:由于“Month First”和“Day First”格式“不明确”(例如 7/8/2014 可能是 7 月或 8 月的日期),因此应尽可能避免使用它们。

关于使用 str_to_date 从 .txt 文件读取日期类型时出现 mysql 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25965773/

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