SQL Attribute是一个列表 - 访问列表中的一个元素

时间:2015-08-05 09:59:37

标签: sql postgresql

我有一个Postgresql表X,其属性为names | character varying(255)[]

现在,一个条目中的names可以是{ 'mary' , 'james' , 'john' }。如何运行一个类似的查询 -

select names,other_attribute_1 from X where 'mary' in names ;

我需要获取名称列表中包含&​​#39; mary'的行的所有(或某些属性)。

2 个答案:

答案 0 :(得分:0)

您可以使用LIKE运算符:

SELECT names,
  other_attribute_1 
FROM x 
WHERE names LIKE '%mary%';

答案 1 :(得分:0)

只需使用简单的WHERE条件。

SELECT names, other_attribute_1 
FROM x
WHERE name = 'mary'

或者如果它有不同的拼写(不是真的适用于玛丽名称,例如约翰),请使用IN

SELECT names, other_attribute_1 
FROM x
WHERE name in ('john', 'jon')

或者,如果它有撇号或复数,例如玛丽或玛丽,请使用LIKE

SELECT names, other_attribute_1 
FROM x
WHERE name LIKE 'mary%'