如何在Postgresql中使用空格查询JSONB成员名称

时间:2016-01-22 09:37:14

标签: postgresql jsonb

我在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"

我的语法错误,还是不支持?我找不到答案了。

1 个答案:

答案 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