gpt4 book ai didi

sql - 如何多重拆分字符串(WHERE IN 查询)

转载 作者:行者123 更新时间:2023-11-29 11:49:42 26 4
gpt4 key购买 nike

我将一个字符串作为参数(通过 massivejs)传递到我的查询中。该字符串的格式为:param = 'red, blue, green'。参数本身没有固定长度(',' 是分隔符),因为它是通过用户发送的内容填充的(但最多为 10 个元素)。

我如何在查询中将字符串分解为单独的字符串?

例如我正在尝试做的事情:

SELECT * FROM table
WHERE name IN (param);

我知道这行得通,但非常粗糙:

SELECT * FROM table
WHERE name IN (split_part(param, ',', 1), split_part(param, ',', 2) .......)) -- keep going.

基本上我想在 IN 括号内包含 ('red', 'blue', 'green' ....) 。有没有更好的方法来实现这一点?

最佳答案

您可以使用 string_to_array 函数将字符串拆分为数组,然后使用 any 函数检查您的元素是否包含在其中:

SELECT * 
FROM mytable
WHERE name = ANY(STRING_TO_ARRAY(param, ','));

关于sql - 如何多重拆分字符串(WHERE IN 查询),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39061358/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com