如果变量设置,则在where语句中使用MySQL变量

时间:2014-09-11 15:42:02

标签: mysql

如果我选择设置它们,我想设置一个查询来过滤一些用户变量。

SET @item_number = 12345;

SELECT * FROM table 

    IF(@item_number IS NOT NULL, item_number = @item_number, NULL)

但根据我的错误,我没有正确地做到这一点。

1 个答案:

答案 0 :(得分:0)

这是一个过程吗?或者您是否正在尝试构建一些动态SQL。

如果在proc中,您可以构建动态SQL,这可能是最简单的。

一种可能效率低下的方法(由于试图弄清楚索引是否有助于查询)但很容易理解,可能是: -

SET @item_number = 12345;

SELECT * FROM table WHERE (@item_number IS NULL OR item_number = @item_number);