有没有办法将DateDiff的DatePart参数作为变量传递?
所以我可以编写类似这样的代码?
所以我可以编写类似这样的代码?
DECLARE @datePart VARCHAR(2) DECLARE @dateParameter INT SELECT @datePart = 'dd' SELECT @dateParameter = 28 SELECT * FROM MyTable WHERE DATEDIFF(@datePart,MyTable.MyDate,GETDATE()) < @dateParameter
我可以想到这样做的唯一方法是使用CASE语句检查参数的值,或者通过将sql作为字符串构建并在EXEC中运行.
有没有人有任何“更好的”建议?该平台是MS sql Server 2005