gpt4 book ai didi

sql - 存储过程的 SELECT WHERE 语句中的 CASE?

转载 作者:行者123 更新时间:2023-12-01 08:36:53 29 4
gpt4 key购买 nike

我需要在存储过程中根据 ManufacturerID 过滤表,但是当传入 null ManufacturerID 时,我需要所有订单。

我可以在 WHERE 语句中执行此操作,这样我就不必在我的 SP 中将整个查询写入两次了吗?

最佳答案

WHERE
@param IS NULL OR field = @param

但请注意,如果您将其放大以搜索多个列,这将变得非常低效。 (见 http://www.sommarskog.se/dyn-search.html)

低效放大版示例...

WHERE
(@param1 IS NULL OR field1 = @param1)
AND (@param2 IS NULL OR field2 = @param2)
AND (@param3 IS NULL OR field3 = @param3)

关于sql - 存储过程的 SELECT WHERE 语句中的 CASE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8715895/

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