我有一个Postgresql表X
,其属性为names | character varying(255)[]
。
现在,一个条目中的names
可以是{ 'mary' , 'james' , 'john' }
。如何运行一个类似的查询 -
select names,other_attribute_1 from X where 'mary' in names ;
我需要获取名称列表中包含' mary'的行的所有(或某些属性)。
答案 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%'