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

MySQL中m/d/y格式DATETIME转dd-mm-yyyy返回null如何解决

解决方法

核心逻辑是先按照原数据实际的MM/DD/YY HH:MM:SS格式解析为标准日期类型,再输出为你需要的DD-MM-YYYY格式,不同数据库的实现语句如下:

MySQL/MariaDB 环境

先用STR_TO_DATE按原格式解析日期,再用DATE_FORMAT输出目标样式:

SELECT DATE_FORMAT(STR_TO_DATE(XDATE, '%m/%d/%y %H:%i:%s'), '%d-%m-%Y') AS formatted_xdate
FROM 你的表名;
  • 参数说明:%m匹配月份、%d匹配日期、%y匹配2位年份、%H:%i:%s匹配时分秒,完全适配你给出的样例格式
  • 转换后自动过滤时间部分,仅输出日期

Oracle 环境

用TO_DATE解析后再用TO_CHAR格式化:

SELECT TO_CHAR(TO_DATE(XDATE, 'MM/DD/YY HH24:MI:SS'), 'DD-MM-YYYY') AS formatted_xdate
FROM 你的表名;

SQL Server 环境

用内置格式编码识别输入格式后再格式化:

SELECT FORMAT(CONVERT(DATETIME, XDATE, 1), 'dd-MM-yyyy') AS formatted_xdate
FROM 你的表名;

其中编码1对应SQL Server内置的MM/DD/YY输入格式规则。

注意事项

如果XDATE确实是DATETIME存储类型而非字符串类型,说明你数据库的默认日期解析规则和原写入格式不匹配,按上述方法强制指定原始格式解析即可,不会再返回NULL结果;2位年份会按数据库默认世纪规则补全,比如03识别为2003、20识别为2020,符合样例预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:24:04