Postgresql将字符串值解析为整数

时间:2018-05-21 09:12:07

标签: postgresql postgresql-9.1 sql-in

在Postgres中有没有办法我可以将字符串值解析为整数?基本上,我尝试使用table_one列中另一个表格(table_two)的值来查询一个表格(让我们称之为character varying)。

SELECT char_column FROM table_two结果为"2,4,6,8",我想在第二个查询中使用此结果;

SELECT column FROM table_one WHERE some_id IN (2,4,6,8)

如何将字符串"2,4,6,8"添加到值2,4,6,8,以便能够在第二个查询中使用它?

我尝试过投射和编号函数没有成功。

2 个答案:

答案 0 :(得分:1)

SELECT column
FROM table
WHERE other_column = ANY(string_to_array('2,4,6,8', ',')::INT[])

答案 1 :(得分:1)

请试试这个:

SELECT column     FROM table    WHERE other_column IN (
                           SELECT NULLIF(i,'')::int 
                             FROM regexp_split_to_tables('2,4,6,8',',') t(i)
                         )

说明:

部分regexp_split_to_tables('2,4,6,8',',')会将字符串拆分为表格。然后你把它投成整数。

希望它会对你有帮助。