查询中此语句有问题:CASE WHEN TG200<>'' AND TD013<>'' THEN CONVERT(CHAR(10),DATEDIFF(DAY,TG200,TD013)) ELSE '途中' END AS ZHTSTG200,TD013是char类型查询后报错:从字符串转换为 datetime 时发生语法错误看不出 到底是哪里有错,请高手指点一下,谢谢!
SELECT CASE WHEN TG200 <> '' AND TD013 <> '' THEN CONVERT(CHAR(10), DATEDIFF(DAY, CONVERT(DATETIME,TG200), CONVERT(DATETIME,TD013))) --TG200和TD013需要转换成日期类型才可以使用datediff ELSE '途中' END AS ZHTS 注意数据类型的转换。
你确定你表结构里面字段TG200,TD013是datetime类型? CASE WHEN TG200<>'' 日期类型里面还能填 ‘’ ?
AND TD013 <> ''
THEN CONVERT(CHAR(10), DATEDIFF(DAY, CONVERT(DATETIME,TG200), CONVERT(DATETIME,TD013))) --TG200和TD013需要转换成日期类型才可以使用datediff
ELSE '途中'
END AS ZHTS
注意数据类型的转换。
CASE WHEN TG200<>'' 日期类型里面还能填 ‘’ ?
TG200,TD013这两个字段里面有内容不是日期格式的