繁体   English   中英

SQL:将IN运算符与任何内容匹配

[英]SQL : Match IN operator with anything

我正在尝试建立一个动态查询。

这工作正常:

$qstring="10000, 10001, 10003, 10005";

SELECT *
FROM orders
WHERE order_id in ($qstring);

当我没有要匹配和选择的数据时,这也可以正常工作。

$qstring="";

SELECT *
FROM orders
WHERE order_id in ($qstring);

是否存在以下类似内容以匹配任何数据? 我检查了SQL的模式匹配,但没有发现可以匹配所有内容的内容。

$qstring="*";

SELECT *
FROM orders
WHERE order_id in ($qstring);

有什么提示吗? 谢谢!

因此,您需要进行查询:

SELECT *
FROM orders
WHERE order_id in ($qstring);

如果在@qstring参数中没有传递任何值,则工作@qstring 在这种情况下,请尝试以下操作:

SELECT * FROM orders 
WHERE ($qstring <> '*' AND order_id in ($qstring));

如果要匹配所有内容,请使用不带where子句的select。

SELECT * FROM orders

如果您由于某种奇怪的原因而被迫使用您描述的结构,那么...

$qstring="SELECT order_id FROM orders";

如果您需要所有内容,则不应有WHERE IN子句。

检查您的$qstring变量,仅WHERE order_id in ($qstring);附加WHERE order_id in ($qstring); 必要时

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM