我在Postgresql 9.4.4上运行查询,并且无法从名称中包含空格的JSONB成员访问数据。
当我运行以下查询时...
"SELECT result FROM test"
我得到以下结果
{“test”:1,“ch0 gain”:2,“ch1 gain”:3}
当我跑步时,尝试直接用空格指定成员,例如......
"SELECT result->'ch0 gain' FROM test"
结果为空,但如果我运行以下查询则不是这样......
"SELECT result->'test' FROM test"
我的语法错误,还是不支持?我找不到答案了。
答案 0 :(得分:0)
您必须使用正确的运算符:
Operator Operand
-------------------
-> int
-> text
->> int
->> text
#> text[]
#>> text[]
来源: here
修改:
CREATE TABLE justjson ( doc JSONB)
INSERT INTO justjson VALUES ('{"test": 1, "ch0 gain": 2, "ch1 gain": 3}');
select doc->'ch0 gain' from justjson
输出 2