MySQL
MySQL
SELECT STR_TO_DATE('06/01/2024', '%m/%d/%Y'); -- 2024-06-01
SELECT STR_TO_DATE('2024-06-01 09:30', '%Y-%m-%d %H:%i');
-- 解析失败返回 NULL 并产生 warning
SELECT STR_TO_DATE('2024-13-01', '%Y-%m-%d'); -- NULLPostgreSQL
PostgreSQL
SELECT to_date('06/01/2024', 'MM/DD/YYYY'); -- 2024-06-01
SELECT to_timestamp('2024-06-01 09:30', 'YYYY-MM-DD HH24:MI');
-- 非法输入直接抛错,可用 CASE/正则先过滤| MySQL | STR_TO_DATE(str, fmt);不合法输入返回 NULL |
|---|---|
| PostgreSQL | to_date / to_timestamp;输入不匹配抛 invalid value 错误 |
| 注意 | 解析出的 DATE 与 DATETIME 取决于 fmt 是否含时间部分 |