在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
,以便能够在第二个查询中使用它?
我尝试过投射和编号函数没有成功。
答案 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',',')
会将字符串拆分为表格。然后你把它投成整数。
希望它会对你有帮助。