如何向查询传递任意数量的字符串?

2fjabf4q  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(284)

我来自postgresql的背景,在那里我可以写以下内容:

SELECT * FROM my_table WHERE my_table.text_column = ANY(:input::text[])

在这个查询中,我传递一个字符串值数组。这允许我传递任意数量的输入参数,而不必事先知道参数的大小。
在mysql中如何实现这一点?我的目标是mysql 8,如果这很重要的话。

dl5txlt9

dl5txlt91#

一种方法是使用in关键字。

SELECT * FROM my_table WHERE my_table.text_column IN('item1','item2','item3');

http://www.mysqltutorial.org/sql-in.aspx
编辑:不更改查询:如果为项目列表创建临时表,则可以使用:

SELECT * FROM my_table WHERE my_table.text_column IN  
(SELECT item from temptable);

相关问题