SQL备份中5位数字日期格式识别与MM-DD-YYYY格式转换求助
解决SQL中5位数字日期转MM-DD-YYYY格式的问题
已知5位数字80329对应日期12/03/2020,且排除了msdate格式(转换后会到2100年代),可以按以下方式处理:
通过反向计算推导,这个5位数字是从1800-01-26开始的累计天数,验证逻辑:给1800-01-26加上80329天,正好得到2020-12-03,完全匹配已知对应关系。
针对不同SQL数据库,转换代码示例:
- MySQL/MariaDB:
SELECT DATE_FORMAT(DATE_ADD('1800-01-26', INTERVAL your_date_col DAY), '%m-%d-%Y') AS formatted_date FROM your_table;
- SQL Server:
SELECT FORMAT(DATEADD(DAY, your_date_col, '1800-01-26'), 'MM-dd-yyyy') AS formatted_date FROM your_table;
- PostgreSQL:
SELECT TO_CHAR('1800-01-26'::DATE + your_date_col, 'MM-DD-YYYY') AS formatted_date FROM your_table;
如果有更多日期样本,可以进一步验证这个逻辑的准确性,但基于现有已知条件,这个转换方式完全可行。
内容的提问来源于stack exchange,提问作者Nicholas Haley
相关产品推荐
相关产品推荐

