------解决方案-------------------- 那个不是dateadd(dd,-1000,getdate())的错,是匹配的时候错而已,把where中的所有判断条件全部转换成同一个类型是解决的思路 ------解决方案-------------------- 数据类型存在显式和隐式转换,赋值的时候会转换类型,但是匹配的时候,如果匹配的左右两段类型不一致,就报错 ------解决方案-------------------- select top 1 cedate+cetime from T_FANGKA_XUNGENG
where (CONVERT(VARCHAR(30),ceDate,121)+cetime)>convert(varchar(30),GETDATE(),121)
这个地方,大于号的左边已经转换成字符型,但是以日期格式显示,只是实际上它已经是字符串,而如果右边不转换的话,就是日期型,就好像a和1对比,哪个大?不好给结论吧?只有转换类型才有可并行 ------解决方案--------------------
select ceDate,ceTime,
--left(ceTime,charindex(':',ceTime)-1),
substring(ceTime,1,2) as h,
substring(ceTime,4,2) as m,
substring(ceTime,7,2) as s
from T_XX