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

技术
©2020 ioDraw All rights reserved
JS基础重点知识实验总结(全)error: (-215:Assertion failed)解决方案逆向工程核心原理笔记(一)——Hello World-1特征工程详解PHP中的die、exit、return特朗普的"VIP疗法":正接受一种尚未获批的药物治疗HashMap实现LRU(最近最少使用)缓存更新算法三分钟看懂神经网络机器翻译SK海力士全球首发DDR5内存:频率冲上5600MHz、容量可达256GB日经:索尼和铠侠正积极申请华为供货许可