gpt4 book ai didi

sql - 在 SQL CASE where 子句中使用 BETWEEN

转载 作者:行者123 更新时间:2023-12-02 01:45:14 24 4
gpt4 key购买 nike

我有一个表单,用户可以在其中提取报告。在表单中,他们可以选择开始日期和结束日期,或者为这两个值传递 null。如果他们选择 null,则返回 effectivedate < GETDATE() 的所有记录CASE 语句似乎不喜欢 Between,也不喜欢 '<' 运算符

这是我的脚本

SELECT * FROM tbReport
WHERE
EffectiveDate
CASE
WHEN (@StartDate IS NOT NULL AND @EndDate IS NOT NULL)
THEN BETWEEN (@StartDate AND @EndDate)
ELSE
THEN < GETDATE()

END

最佳答案

您可以在不使用大小写的情况下重写它,例如:

SELECT  * 
FROM tbReport
WHERE (
@StartDate is not null
and
@EndDate is not null
and
EffectiveDate between @StartDate AND @EndDate
)
or
(
(
@StartDate is null
or
@EndDate is null
)
and
EffectiveDate < getdate()
)

关于sql - 在 SQL CASE where 子句中使用 BETWEEN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5416695/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com