SELECT DATE_FORMAT(STR_TO_DATE('20150922 13:01:01', '%Y%m%d %H:%m:%s'), '%H:%m'); -- 13:01 ✅
SELECT DATE_FORMAT(STR_TO_DATE('20150922 12:55:00', '%Y%m%d %H:%m:%s'), '%H:%m'); -- NULL ❌ (Warning 1411)
SHOW WARNINGS; 提示 Incorrect datetime value;%Y-%m-%d %H:%i:%s 皆正常;13:00 超出 12 小時範圍導致解析失敗。| 場景 | 格式字符串 |
|---|---|
| 緊湊格式 | '%Y%m%d %H:%i:%s' |
| 標準格式 | '%Y-%m-%d %H:%i:%s' |
結論:解析 24 小時制時間務必用大寫 %H,%h 僅適用 01-12 時。