我现在要做一个时间格式的转换,原来的时间是字符格式的‘10JAN2008’,我现在要将他转换为2008-01-10
写了如下的语句
select convert(varchar(10),cast(left(SLIT_YMD,2)+' '+substring(SLIT_YMD,3,3)+' '+right(SLIT_YMD,4) as datetime),120) from T_JISSEKI_KAI
,这个语句在我的机器上能够执行,但到了服务器却会出问题,主要是
cast(left(SLIT_YMD,2)+' '+substring(SLIT_YMD,3,3)+' '+right(SLIT_YMD,4) as datetime)这个会出问题,说将字符转为日期格式时出错,我看了两台机器的sql版本和语言都一样,排序规则也一样,不知道为什么会出现这个错误,请问各位该如何解决阿?
写了如下的语句
select convert(varchar(10),cast(left(SLIT_YMD,2)+' '+substring(SLIT_YMD,3,3)+' '+right(SLIT_YMD,4) as datetime),120) from T_JISSEKI_KAI
,这个语句在我的机器上能够执行,但到了服务器却会出问题,主要是
cast(left(SLIT_YMD,2)+' '+substring(SLIT_YMD,3,3)+' '+right(SLIT_YMD,4) as datetime)这个会出问题,说将字符转为日期格式时出错,我看了两台机器的sql版本和语言都一样,排序规则也一样,不知道为什么会出现这个错误,请问各位该如何解决阿?
--先替换月份
update T_JISSEKI_KAI set SLIT_YMD = replace(SLIT_YMD,'JAN','01') --替换1月,其他月类似--再做转换
select convert(varchar(10),cast(right(SLIT_YMD,4)+substring(SLIT_YMD,3,2)+left(SLIT_YMD,2) as datetime),120)
from T_JISSEKI_KAI
case(substring(SLIT_YMD,5,2)
when 'JAN' then left(SLIT_YMD,4)+'-01-'+right(SLIT_YMD,2)
when 'May' then left(SLIT_YMD,4)+'-05-'+right(SLIT_YMD,2)
.
.
.
from T_JISSEKI_KAI