如何将任意数量的字符串传递给查询?
How do I pass an arbitrary number of strings to a query?
我有 PostgreSQL 背景,我可以写以下内容:
SELECT * FROM my_table WHERE my_table.text_column = ANY(:input::text[])
在此查询中,我传递了一个字符串值数组。这让我可以传递任意数量的输入参数,而无需提前知道大小。
在 MySQL 你会怎么做?如果重要的话,我的目标是 MySQL 8。
一种方法是使用 IN 关键字。
SELECT * FROM my_table WHERE my_table.text_column IN('item1','item2','item3');
http://www.mysqltutorial.org/sql-in.aspx
编辑:不更改查询:如果您为项目列表创建一个临时 table,您可以使用:
SELECT * FROM my_table WHERE my_table.text_column IN
(SELECT item from temptable);
我有 PostgreSQL 背景,我可以写以下内容:
SELECT * FROM my_table WHERE my_table.text_column = ANY(:input::text[])
在此查询中,我传递了一个字符串值数组。这让我可以传递任意数量的输入参数,而无需提前知道大小。
在 MySQL 你会怎么做?如果重要的话,我的目标是 MySQL 8。
一种方法是使用 IN 关键字。
SELECT * FROM my_table WHERE my_table.text_column IN('item1','item2','item3');
http://www.mysqltutorial.org/sql-in.aspx
编辑:不更改查询:如果您为项目列表创建一个临时 table,您可以使用:
SELECT * FROM my_table WHERE my_table.text_column IN
(SELECT item from temptable);