Postgres SELECT 数组中的值

2024-02-13

我有一个看起来像这样的 postgres 表:(缩短)

id (serial) | col1 (character varying[])
----------------------------------------
1           | {'Life', 'Health', "'VA Data'"}

我正在尝试执行以下操作:

SELECT * FROM mytable WHERE 'Life' = ANY (col1)

这次查询的结果,是零条记录。

目标是,我想要 col1 数组中具有值“Life”的任何行。

我究竟做错了什么?


Any应该有效,但是您向我展示的表输出不是“Life”,而是“Life”。请参阅下面的示例(1. 正确插入的数据及其外观;2. 错误插入的数据及其外观 - 与您的数据类似;3. 所有数据):

testdb=# select * from test where 'Life' = ANY(col1);
 id |          col1           
----+-------------------------
  1 | {Life,Health,"VA Data"}
(1 row)

testdb=# select * from test where '''Life''' = ANY(col1);
 id |           col1            
----+---------------------------
  2 | {'Life',Health,"VA Data"}
(1 row)

testdb=# select * from test;
 id |           col1            
----+---------------------------
  1 | {Life,Health,"VA Data"}
  2 | {'Life',Health,"VA Data"}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Postgres SELECT 数组中的值 的相关文章

随机推荐