任何人都可以发现这个 case when 语句的问题吗? SQL Server 似乎不喜欢它,我无法发现问题!
SELECT CASE @Next_Insp_Date
WHEN @Purpose_ID = 1 THEN DATEADD(m, 6, GETDATE()) AS @Next_Insp_Date
WHEN @Purpose_ID = 2 THEN DATEADD(m, 12, GETDATE()) AS @Next_Insp_Date
ELSE @Next_Insp_Date
END AS @Next_Insp_Date
最佳答案
一个case语句只能有一个别名。像这样尝试:
SELECT CASE
WHEN @Purpose_ID = 1 THEN DATEADD(m, 6, GETDATE())
WHEN @Purpose_ID = 2 THEN DATEADD(m, 12, GETDATE())
ELSE --some other value here
END AS Some_alias_name -- here it is the alias
我不知道 @Next_Insp_Date
包含什么,但可以肯定它在错误的位置。在 else 语句中你应该有另一个值
如果您想从 @Next_Insp_Date
中检索值,那么它应该放在 else 语句中。
关于SQL 问题 - CASE WHEN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43045647/