今天碰到了一个问题,可能由于程序原因,导入功能不完善,使导入的日期字段全部为五位数字,通过查阅文档,先列出解决办法:
SELECT DATEADD(DAY,'五位数字段'-2,'1900-01-01') FROM TABLE WHERE LENGTH(五位数字段)=5
实现逻辑
EXCEL展示的五位数既将日期从1900年1月1日开始到该日期的天数差加2(我也不清楚这个2是哪来的),我们只需要将这个五位数加到1900年1月1日上即可返回真正的日期。
补充:
如果只需要年份或者是月份 使用自带的函数 YEAR/MONTH 即可实现返回年月
//返回1977
SELECT YEAR(28777)
本函数本人目前只在达蒙数据库使用过,SqlServer应该也是可以的,别的数据库就不太清楚了,如果有建议和问题,欢迎评论