我收到了这个错误。
错误:列“名称”不存在第6行:
SELECT JS, location, location->>Name ^ SQL state: 42703 Character: 278
从这个查询
WITH JsonTable AS
(
SELECT
'[
{
"Id":1,
"Name":"A01",
"Address":"aaa",
"SearchVector":null,
"ParentLocationId":null
},
{
"Id":4,
"Name":"B-01",
"Address":"bbb",
"SearchVector":null,
"ParentLocationId":null
}
]'::jsonb AS JS
)
SELECT JS, location, location->>Name
FROM JsonTable, jsonb_array_elements(JS) x (location)
如何选择JSON值?
您缺少要选择的JSON属性名称的引号。只是喜欢在声明JSON对象时必须始终引用对象键,在访问它时也需要引用它们。
有关the JSON datatype和JSON Functions and Operators的文章,请参阅Postgres文档。
你需要改变这个:
SELECT JS, location, location->>Name
至:
SELECT JS, location, location->>'Name'