BEGIN
DECLARE @MDATE DATE,
@LTCT_DATE AS DATE
SET @MDATE ='20140726'
SET @LTCT_DATE = '20140727'
SELECT (CASE WHEN @MDATE < @LTCT_DATE THEN (DATEADD(MM,1,@LTST_DATE))
ELSE #DATE.LTCT_DATE
) AS NEXT_C_DATE
答案 0 :(得分:2)
您的变量名称中有拼写错误
DECLARE @LTCT_DATE DATE
你使用
@LTST_DATE
答案 1 :(得分:0)
我不确定,但我删除了&gt;&#39;&lt;&#39;&lt;单引号的东西。它可能会认为它是一个字符串。标量基本上意味着&#34;数字&#34;。
答案 2 :(得分:0)
除了之前的答案,您还需要一个&#39; END&#39;关闭你的CASE声明,以及&#39; END&#39;到你的开始,所以代码应该是这样的:
BEGIN
DECLARE @MDATE DATE, @LTCT_DATE DATE
SET @MDATE ='20140726'
SET @LTCT_DATE = '20140727'
SELECT
CASE WHEN @MDATE < @LTCT_DATE
THEN (DATEADD(MM,1,@LTCT_DATE))
ELSE #DATE.LTCT_DATE
END AS NEXT_C_DATE
END