You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL时间格式转换异常:文件导入时无法识别AM/PM

解决MySQL导入带AM/PM的毫秒时间格式问题

你的问题出在时间格式符的选择上:%H是24小时制的小时标识,而你的时间字符串包含AM/PM标记,必须用12小时制的%h来匹配,再结合%p才能正确解析上午/下午信息。

修改后的完整代码

DROP TABLE IF EXISTS 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 %p');
SELECT * FROM temp LIMIT 10;

关键修改点说明

  • 把原来的%H替换成%h:%h专门用于匹配12小时制的小时数(01-12),能和AM/PM标记完美配合
  • 保留%p来识别时间字符串里的AM/PM标识
  • 去掉了字段列表末尾多余的逗号(Value, → Value),避免触发语法错误

这样修改后,MySQL就能正确解析05/20/16 01:54:52.797 AM这类格式的时间字符串,不会再出现解析结果为NULL的情况。

内容的提问来源于stack exchange,提问作者Anas Ibrahim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:50:25