我有一个看起来像这样的 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(使用前将#替换为@)