gpt4 book ai didi

sql - Null 的参数化查询

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

我正在尝试根据传递的参数选择一个查询,但不知何故,该查询并非在所有情况下都有效。

可以说这是我的查询:

SELECT * FROM EMPLOYEE WHERE AGE = @pAge

现在让我们考虑这张表
EmpId | EmpName | Age 
1 | Abhishek | 30
2 | Surajit | NULL
3 | Utpal | 44

现在的问题是当我传递@pAge = NULL 时,它应该选择Surajit,而当我传递值时它应该选择与指定匹配的值。看起来很简单,但我没有任何选择可以尝试。第一个查询不起作用,因为 NULL != NULL。

让我们看看我尝试了什么:
SELECT * FROM EMPLOYEE WHERE (@pAge is null Or AGE = @pAge)

这不起作用,因为当我传递 null 时它会选择所有内容。
SELECT * FROM EMPLOYEE WHERE IsNull(@pAge, 0) = Age

但它也不起作用......因为年龄!= 0。

即使我尝试了案例,但即使它也无法正常工作。谁能给我简单的查询。

最佳答案

如果你想选择 NULL = NULL 试试:

SELECT * 
FROM EMPLOYEE
WHERE (
(@pAge IS NULL AND AGE IS NULL)
OR AGE = @pAge
)

关于sql - Null 的参数化查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54647820/

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