gpt4 book ai didi

sql - 灵活的选择查询

转载 作者:行者123 更新时间:2023-12-04 19:06:00 25 4
gpt4 key购买 nike

我知道比较运算符不适用于 SQL 中的 null 值,因此我们使用 isnull,现在我有一个这样的表,

ID      Name        Order
3 KnowledgeBase1 NULL
4 KnowledgeBase2 NULL
5 KnowledgeBase3 NULL
6 KnowledgeBase4 NULL
7 Child of first 1

现在在这里你可以看到 Order 可以是 null 或任何数值,

现在是选择查询

declare @order int = null

select
ID,
Name,
Order
from tbl
where Order = @order

@order 有任何 numerals 时,这个查询很好,但是当它有 null 时,它当然不起作用,因为 where 子句应该在这种情况下,Order is null

所以问题是,有没有办法在不使用 exec() 和查询字符串 或查询中的条件语句的情况下执行此操作??

最佳答案

比较where子句中的@orderNULL,如果是,则使用order IS NULLOR 如果它具有值,则与您现有的条件一起工作:

select 
ID,
Name,
Order
from tbl
where
Order = @order
OR (@order IS NULL AND order IS NULL)

您还没有指定您的 RDBMS,但是快速测试表明它可以与 MySQL 一起工作...

关于sql - 灵活的选择查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11591719/

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