gpt4 book ai didi

sql - 如何在 BETWEEN 子句中包含空值?

转载 作者:行者123 更新时间:2023-12-04 22:33:57 24 4
gpt4 key购买 nike

在我的查询中 where条款我有条件:

User.DateOfBirth BETWEEN @startDate AND @endDate 

哪里 @startDate@endDate可以为空。如 @startDate为空,我想要所有小于或等于 @endDate 的值;如果 @endDate为空,我想要所有大于或等于 @startDate 的值;如果两者都为空,我想要所有值。

我的失败尝试 - 返回 0 个结果
((( User.DateOfBirth > @startDate) OR (@startDate Is null)) AND  (( User.DateOfBirth < @endDate) OR (@endDate is null)) )

(编者注: BETWEEN 包括终点(小于/大于或等于),但对空情况的描述没有。我认为这是一个疏忽。

最佳答案

尝试这个:

[User].DateOfBirth BETWEEN ISNULL(@startDate,[User].DateOfBirth) AND ISNULL(@endDate,[User].DateOfBirth)

关于sql - 如何在 BETWEEN 子句中包含空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24880969/

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