gpt4 book ai didi

mysql infile 将字符串转换为时间格式

转载 作者:可可西里 更新时间:2023-11-01 07:46:37 24 4
gpt4 key购买 nike

我有一个 TSV,我正试图将其写入 mySQL 表中。几列是时间格式,但它们与 HH:MM:SS 的标准时间格式不匹配,而是看起来像 HH:MM AM/PM

我看过使用 PHP 执行此操作的示例,但我希望有一种方法可以使用 mysql str_to_date

这是我到目前为止所做的。

LOAD DATA LOCAL INFILE 
'C:\\SINGLE_PROP\\open_houses.txt'
REPLACE INTO TABLE singleprop.jos_openhouse
IGNORE 1 LINES
SET OHSSTARTTM = STR_TO_DATE('%g:%i %a', '%g:%i:%s');

我不断收到不正确的时间格式错误。表格如下所示。

CREATE TABLE `jos_openhouse` (
`OHSSTARTDT` DATE NOT NULL,
`OHSHOSTBID` varchar(14) NOT NULL,
`OHSMLSNO` int(7) NOT NULL,
`OHSSTARTTM` TIME NOT NULL,
`OHSENDTM'` TIME NOT NULL,
`OHSREMARK` TEXT,
`OHSTYPE` TEXT,
`OHSUPDTDT` TIMESTAMP,
PRIMARY KEY (`OHSMLSNO`))
ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;

是否应该先将列创建为“TEXT”,以便 infile 可以将数据放在那里,然后在导入后将其转换为时间格式?

最佳答案

试试这个:

SELECT STR_TO_DATE('11:15 PM', '%h:%i %p') ;

输出

TIME
--------
23:15:00

试试这个:

LOAD DATA LOCAL INFILE 
'C:\\SINGLE_PROP\\open_houses.txt'
REPLACE INTO TABLE singleprop.jos_openhouse (col1, col2, ..., @OHSSTARTTM)
IGNORE 1 LINES
SET OHSSTARTTM = STR_TO_DATE(@OHSSTARTTM, '%h:%i %p');

关于mysql infile 将字符串转换为时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14364065/

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