mysql时间会话问题

t9aqgxwy  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(198)

我正在尝试将一个文件读入mysql数据库,有这样的时间列格式

05/20/16 01:54:52.797 AM => month/day/year hours:minutes:seconds.millisecond AM/PM

我正在使用以下代码,因为我无法正确地读取它

Drop table temp;
CREATE TABLE temp LIKE messages;    
load data infile 'C:/xampp/htdocs/gdxg/test_uploads/test.txt' into table temp fields terminated by '\t' enclosed by '"' lines terminated by '\n' (@Time, State, Name,Pri,Value,)
SET Time = STR_TO_DATE(@Time,'%m/%d/%y %H:%i:%s.%f');
select * from temp limit 10;

它不读上午/下午
如果我想这么做( @Time,'%m/%d/%y %H:%i:%s.%f %p )读一读 null ?

6rvt4ljy

6rvt4ljy1#

你用过 hour 说明符错误。
说明符说明: '%H' -在(00..23)范围内的小时数 '%h' -在范围(01..12)内的小时数 '%p' -上午或下午
改变 Hh 在您的查询和使用 '%p' 应该有用。
例子:

mysql> select @t;
+--------------------------+
| @t                       |
+--------------------------+
| 05/20/16 01:54:52.797 AM |
+--------------------------+
1 row in set (0.00 sec)

mysql> select STR_TO_DATE( @t,'%m/%d/%y %h:%i:%s.%f %p' ) as t;
+----------------------------+
| t                          |
+----------------------------+
| 2016-05-20 01:54:52.797000 |
+----------------------------+
1 row in set (0.00 sec)

阅读文档:
日期格式(date,format)

相关问题