我有这段代码
Select * FROM [DB].[dbo].[STG_TABLE]
WHERE convert(datetime, cast([CHANGE_DATE] as char(8))) > DATEADD(DAY, -3, GETDATE())
CHANGE_DATE 是 numeric(8,0) 类型。
我以前用过这段代码。它仍然可以在我的本地机器上处理相同的数据,但是当我在开发服务器上运行它时,它会给出一个错误:
从字符串转换日期和/或时间时转换失败。
两台计算机在控制面板中具有相同的系统日期设置。
如果我删除转换,如下所示:
Select * FROM [DB].[dbo].[STG_TABLE]
WHERE cast([CHANGE_DATE] as char(8)) > DATEADD(DAY, -3, GETDATE())
它给出了同样的错误,这让我相信它是在大于之后,但我仍然不知道为什么。