首页 > 解决方案 > 运算符不存在:文本 ->> 未知

问题描述

我正在尝试从使用 c# 创建的 json 字段中获取信息,请在此处输入图像描述

SELECT "Price"->>'TotalPrice' FROM "Table"

但我在 postgres 中有错误

错误:运算符不存在:文本 ->> 未知第 1 行:从“ReadModel”中选择“价格”->>“价格”...没有运算符与给定名称和参数类型匹配。您可能需要添加显式类型转换。

标签: sqlpostgresql

解决方案


错误消息非常明显:您的列定义为textnot as jsonbor json。但是该->>运算符仅适用于jsonborjson列,因此您需要对其进行强制转换:

SELECT "Price"::jsonb ->> 'TotalPrice' 
FROM "ReadModel"."MyListingDto"

与您的问题无关,但是:您应该真正避免那些可怕的带引号的标识符。他们的麻烦比他们的价值要多得多。


推荐阅读