在使用EXCEL的过程中,经常会遇到日期变成一个5位整数的问题。
形成这个问题的原因是,只要将一个日期复制,然后粘贴数值的时候,就会形成一个5位的整数。
在EXCEL单元格只需要右键,然后重新设置单元格格式,设置回自己想要的日期格式就可以重新显示日期了。
但是如果用户,已经将EXCEL导入到数据库,刚才数据库的字段又设置成了字符串格式,就会形成只有5位数的情况。
那么如何修改呢?下面方法是我在工作过程中 将一个字符串类型字段名叫NewOld里面的数据修改成统一的 yyyy-MM-dd的格式。
“上货日期”就是NewOld
--修改“上货日期”,5位数变成 yyyy-MM-dd
select
CONVERT(varchar(100), DATEADD(day,-2, DATEADD(DAY ,cast (NewOld as int ) ,'1900-01-01')) ,23)
from Goods where Item='201803订货会' and len(NewOld)=5
-- 修改“上货日期”, 不规范日期格式变成 yyyy-MM-dd
select
CONVERT(varchar(100), CONVERT(datetime,NewOld,101),23)
from Goods where Item='201803订货会' and len(NewOld)>5