Postgresql operator does not exist: uuid = text
先说自己的问题。
[{"objectId": "7d1176e6-b73a-4006-be35-8e39281e9cfd", "objectType": "user"},
{"objectId": "22a12098-1490-46e1-9630-9bb88a3f8258", "objectType": "user"}]
这种数据格式,我要将objectId 当做条件进行查询
首先将jsonb 中的 objectId 取出来
jsonb_array_elements ( "user".follows ) ->> 'objectId'
然后当做where in 的条件
报错
需要将text 转成 UUID类型
修改一下
SELECT cast(jsonb_array_elements ( "user".follows ) ->> 'objectId' AS uuid)
FROM "user" "user" WHERE "user"."id" = 'bd8d86a9-247d-4f74-a8db-a935295b4520'
这样就OK了。
->> 是转成text类型
->是转成json类型