gpt4 book ai didi

SQL 条件 where

转载 作者:行者123 更新时间:2023-12-04 05:35:50 26 4
gpt4 key购买 nike

我有一个名为 spGetOrders 的存储过程,它接受一些参数:@startdate 和 @enddate。这将查询“订单”表。表中的一列称为“ClosedDate”。如果订单尚未关闭,则此列将保留为 NULL,如果已关闭则为日期值。我想添加一个@Closed 参数,它需要一个位值。在一个简单的世界中,我可以做到..

select * from orders o
where o.orderdate between @startdate AND @enddate
and (if @Closed = 1 then o.ClosedDate IS NULL else o.ClosedDate IS NOT NULL)

显然,那是行不通的。

请帮忙..

最佳答案

尝试这个:

select * from orders o
where o.orderdate between @startdate AND @enddate
and ((@Closed = 1 And o.ClosedDate IS NULL) Or (@Closed = 0 And o.ClosedDate IS NOT NULL))

在 where 子句中混合 AND 和 OR 时要小心。这样做时,控制求值顺序的括号非常重要。

关于SQL 条件 where,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/353425/

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