在Postgres中将逗号分隔的字符串转换为整数数组

新手上路,请多包涵

我正在尝试将逗号分隔的字符串转换为整数数组 (integer[]) 以在 Where 子句中使用。

我试过演员, ::Int 没有用。感谢您的意见

例子

Table A   |  Table B
ID        |  Set_id
2         |  14,16,17
1         |  15,19,20
3         |  21

我的查询:

 Select *
from Table a, table b
where a.id in b.set_id

原文由 sam 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.7k
1 个回答

您可以使用 unnest() 函数。 unnest 函数用于将数组扩展为一组行。

Select * from Table_a a, table_b b where a.id in (SELECT unnest(string_to_array(b.set_id, ',')::int[]));

原文由 Victor Ray 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进