我的狗数据库包含一列“hd”,其中包含 A 和 E 之间的值,如果 hd 评级未知,则不包含任何内容。
我正在实现一个用户表单,用于从 Wordpress 查询数据库。
我预计大多数用户都希望选择高清等级在 A 和 C 之间的狗,我已经能够通过以下方式做到这一点:
WHERE hd REGEXP "[A|B|C]";
但是 REGEXP 似乎没有通配符解决方案,因此如果用户不需要在 HD 上进行选择,我可以使用
WHERE hd LIKE "%";
但是,如果我使用 LIKE,我可以一次搜索一个高清代码。 例如 哪里 hd 像“B”;
我还设法选择多个值:
WHERE hd IN ('A','B','C');
但是我做不到
WHERE hd IN ("%");
但我真正需要的是对多个值或通配符进行选择,然后将其传递给 $_POST 数组中的 SELECT 语句。
欢迎所有建议。
加里
最佳答案
使用列本身怎么样?
WHERE hd IN ('A','B','C')
或
WHERE hd IN (hd)
当hd
不为NULL
时,这将起作用。
替代方案可能如下所示:
WHERE ((hd >= $hd_low and hd >= $hd_high) or $hd_low is null)
关于mysql - WordPress MYSQL SELECT WHERE 通配符包含 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36116657/