不知道你能不能在这里的语法方面有所帮助。试图将一个变量设置为一个月值,这取决于它是否超过了这个月的第25天。
如果是,则使用当前月份(例如,如果日期是10月28日,变量' month‘将为10,如果是10月24日,则为9)。到目前为止,我得到了以下信息:
select a
case
when (SELECT DAY(GETDATE()) >= 25
then a = (SELECT MONTH(GETDATE()))
else a = (SELECT MONTH(GETDATE()) - 1)
end我知道你不能用少于或大于符号,因为案例陈述只用于评估(=)?有人能提出其他办法吗?
谢谢。
发布于 2013-10-03 08:31:37
据我所知,你需要这种用法;
select
case
when DAY (GETDATE()) = 25 then MONTH(GETDATE())
else MONTH(GETDATE()) - 1
end发布于 2013-10-03 08:31:15
select @your_variable = case when DAY(GETDATE()) = 25
then MONTH(GETDATE())
else MONTH(GETDATE()) - 1
end 发布于 2013-10-03 08:32:25
您可以将>和<运算符与案例结合使用。以下是你所期望的吗?
SELECT CASE WHEN DAY(GETDATE()) > 24
THEN MONTH(GETDATE())
ELSE MONTH(GETDATE()) + 1
END AS [a]https://stackoverflow.com/questions/19154305
复制相似问题