如何让WHERE子句检查postgresql列表中的项目?

时间:2016-09-05 18:57:21

标签: postgresql where

我在postgresql中有一个数据库表,其中一些字段包含列表。

以下是select查询结果的示例。

(2, u'osgb1000001786024039', 10053, 1, u'2001-11-07', [u'Land', u'Buildings'], ...)

您可以看到第六个字段(称为'主题')有一个包含单个项目的列表。

我的问题是如何编写一个WHERE子句来检查该列表中的项目?

我试过了:

SELECT * FROM os_mm.topographicarea
WHERE 'Buildings' IN theme

给出了:

  

主题"或其附近的语法错误   第2行:地点' Land' IN主题

显然,这不起作用,所以我缺少什么命令或语法?

1 个答案:

答案 0 :(得分:1)

试试这个

SELECT * FROM os_mm.topographicarea
WHERE 'Buildings' = ANY (theme)

另请参阅postgresql documentation