gpt4 book ai didi

sql - SQL 中的大于和小于或等于

转载 作者:行者123 更新时间:2023-12-02 21:50:02 31 4
gpt4 key购买 nike

如何在 SQL 中使用大于等于和小于等于而不是使用 Between

我正在检查 SQL 中的日期变量。

我尝试过这样的:

Date between coalesce(@fromDate,Date) and coalesce(@toDate,Date) 

但是如果用户没有输入任何日期(fromDate 或 toDate)

所以我需要将上面的条件转换为“大于等于和小于等于”。

如何用 SQL 编写此语法?

最佳答案

IF @fromDate IS NULL
BEGIN
SET @fromDate = '1900-01-01';
END;

IF @toDate IS NULL
BEGIN
SET @toDate = '2099-01-01';
END;

SELECT things
FROM table
WHERE date_field BETWEEN @toDate AND @fromDate;

这段代码本质上会给你一个任意大的范围来检查哪个应该为你提供合理的性能并返回所有结果(假设这就是你在没有提供任何值时想要的结果)。

此代码可以缩短为:

SELECT things
FROM table
WHERE date_field BETWEEN Coalesce(@toDate, '1900-01-01') AND Coalesce(@fromDate, '2099-01-01');

但我保留了详细版本来说明。

关于sql - SQL 中的大于和小于或等于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18824823/

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