select '{"a": "foo"}'::json-> 'a' 报错:operator does not exist
时间: 2023-07-19 13:45:29 浏览: 82
json-taglib 使用方法
5星 · 资源好评率100%
这个错误是因为 `->` 操作符只能用于 PostgreSQL 版本 9.3 以上,并且需要安装 `json` 扩展。如果你使用的是旧版本的 PostgreSQL,你需要使用 `#>` 或者 `#>>` 操作符来获取 JSON 对象的值。
例如,你可以使用以下查询来获取 `{"a": "foo"}` 中 `a` 的值:
```
SELECT '{"a": "foo"}'::json #> '{a}';
```
这将返回字符串 `"foo"`。
另外,如果你使用的是 PostgreSQL 9.4 或以上版本,你可以使用 `->>` 操作符来获取 JSON 对象中的字符串值:
```
SELECT '{"a": "foo"}'::json->> 'a';
```
这也将返回字符串 `"foo"`。
阅读全文