每月15日之前/之后



我想自动设置@startdate和@enddate,这取决于查询是在每月的第15天之前还是之后运行。

select case @startdate when DAY(getdate())>15 -- etc.

,但它不喜欢>15或=15的语法。我知道DAY()返回一个整数(今天的结果是25),所以我不知道为什么它不起作用。

CASE结构有两种形式。要么你有

CASE expression
     WHEN value THEN result
     WHEN value THEN result
     ...
     ELSE
END

或者

CASE
     WHEN boolean-expression THEN result
     WHEN boolean-expression THEN result
     ELSE
END

在你的问题中,你需要第二种形式。这是你想要的:

SELECT @startdate = CASE WHEN DAY(getdate())>15 THEN ... ELSE ... END

相关内容

最新更新