Postgresql operator does not exist: uuid = text

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类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值