我试图从列中获取getdate()和我的值之间的差异
下面的S.RefMonthstart 是我正在尝试的查询,但我收到的错误如
消息8117,级别16,状态1,行10操作数数据类型日期无效 用于添加运算符。
SELECT dateadd(DAY,0,(CAST(GETDATE()as date))-convert(date,s.RefMonthStart,106))
AS 'Row
Number'FROM Table1 s
这里我的列RefMonthStart的类型为varchar,其值类似于
0
31
61
现在我怎么会来这个错误
答案 0 :(得分:0)
您可以像这样重写您的查询
SELECT DATEDIFF(d,cast(s.RefMonthStart AS DATETIME),GETDATE()) AS 'Row Number'
FROM Table1 s
这是一个相同的示例sqlfiddle http://sqlfiddle.com/#!3/1e4b9/1