我在postgreSQL中有json数据类型的列。直到今天还没有包含{}或[]的行。
但是,由于新的实施,我开始看到{}和[]。我想删除它。
示例:以下是我的表格。 json是json数据类型
id | json
----+------------------
a | {"st":[{"State": "TX", "Value":"0.02"}, {"State": "CA", "Value":"0.2" ...
----+------------------
b | {"st":[{"State": "TX", "Value":"0.32"}, {"State": "CA", "Value":"0.47" ...
----+------------------
d | {}
----+------------------
e | []
我想要的地方如下:
id | json
----+------------------
a | {"st":[{"State": "TX", "Value":"0.02"}, {"State": "CA", "Value":"0.2" ...
----+------------------
b | {"st":[{"State": "TX", "Value":"0.32"}, {"State": "CA", "Value":"0.47" ...
我应该怎么做?
我写了以下查询:
SELECT *
FROM tableA
WHERE json::text <> '[]'::text
我能够过滤以{}开头的空元素。但仍然看到[]。
答案 0 :(得分:2)
非常简单,只需选择不包含这些值的所有行:
SELECT *
FROM tableA
WHERE json :: text NOT IN ('{}', '[]')