PostgreSQL:如何将逗号分隔的字符串转换为使用 IN 运算符

标签 postgresql

我试图让这个查询工作

select *
from DUALS
where num in ('1,2,3')

字符串 '1,2,3' 即时创建,因此我无法将其替换为代码中的整数列表。

所以我以这个结束:
select *
from DUALS
where num in (select unnest (string_to_array('1,2', ',')::integer[]))

它有效,但我想知道它是否可以简化。不能使用“Any”运算符。

最佳答案

你可以只使用这个代码:

select *
from DUALS
where num = any('{1,2,3}'::int[])

关于PostgreSQL:如何将逗号分隔的字符串转换为使用 IN 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44003762/

相关文章:

postgresql - 在 CLI 而不是 nano 中显示 psql 查询的结果集

ruby-on-rails - 记录不存在时存在

python - Docker角色创建错误-角色___不存在

postgresql - (datagrip) 具有多个模式的数据库连接

sql - 理解多重连接的问题

sql - PostgreSQL 自动递增的默认值

sql - 返回行位置 - Postgres

PHP PDO PostgreSQL -> 插入/更新日期或时间戳数组,以及 bool 值

sql - 如何在 SQL 查询中使用排序方式实现 GraphQL 游标

sql - 通过 HTTP 运行 SQL 查询的标准