求助,现在有两个时间列,都是varchar(200)类型,我想得到两个日期想减的天数。
select DATEDIFF(DAY,CONVERT(varchar(200),时间1,120),CONVERT(varchar(200),时间2,120)) from table1但是总是提示错误提示转换失败和产生一个超出范围的值.
因为表中有些时间格式不标准,例如有2012-02-01,2012.02.01,2012—02—01之类的,但数量很少。这种问题怎么解决,小弟先行谢过了。
select DATEDIFF(DAY,CONVERT(varchar(200),时间1,120),CONVERT(varchar(200),时间2,120)) from table1但是总是提示错误提示转换失败和产生一个超出范围的值.
因为表中有些时间格式不标准,例如有2012-02-01,2012.02.01,2012—02—01之类的,但数量很少。这种问题怎么解决,小弟先行谢过了。
DATEDIFF(D,
case
when substring(时间1,1,10) like '____-__-__' then convert(date,时间1,120)
else '' end,
case
when substring(时间2,1,10) like '____-__-__' then convert(date,时间2,120)
else '' end
)
from table1select
DATEDIFF(D,
case
when substring(时间1,1,10) like '____-__-__' then cast(时间1 as datetime)
else '' end,
case
when substring(时间2,1,10) like '____-__-__' then cast(时间2 as datetime)
else '' end
)
from table1为什么都这样了,还是提示“从字符串转换日期和/或时间时,转换失败”