我在SQL过程中有一个变量v_brand。如果该变量不为null,则
select * from table where column1 = someValue and brandColumn = v_brand;
如果变量为null
select * from table where column1 = someValue;
我能想到的最好的办法就是
IF v_brand IS NOT NULL THEN
select * from table where column1 = someValue and brandColumn = v_brand;
ELSE
select * from table where column1 = someValue;
END IF:
我将使用的查询有数百行。有没有一种方法可以合并这两个查询,因为它似乎更易于维护。
1条答案
按热度按时间2nbm6dog1#
您可以使用某些条件逻辑合并这两个查询
检查
v_brand
是否=brandColumn或NULLv_brand
为NULL + OR返回true(查询返回column 1等于someValue的所有行--与brandColumn无关)v_brand
not NULL --(brandColumn = v_brand)将被计算(true--将返回该行--如果为false -- AND将为false +行将从结果集中排除)