postgre 数据库uuid类型和jsonb类型查询

第一:“uuid”类型

在使用“uuid”类型写sql的时候,通常我们需要这么写

1
#{id,jdbcType=OTHER}::uuid

第二:“jsonb”类型

①.jsonb类型的查询第一种方式

1
(SELECT vtag::jsonb @>#{vtag,typeHandler=com.slife.pdfg.config.JsonbTypeHandler}::jsonb)

上述方式,在查询的时候,例如:

1
{"BusTypes": [], "TranType": []}

数据库存储的是上述类型,查询的时候也需是上述类型。

②.jsonb类型的查询第二种方式

1
select * from ( select *,jsonb_array_elements(ctag->'BusTypes')->>'BValue' as food from test ) as sss where food='day'

这个例子是先把数据转换成json数组,然后在去遍历查询。

数据格式如下:

1
{"BusTypes": [{"BName": "BName1", "BValue": "day"}, {"BName": "BName2", "BValue": "wet"}, {"BName": "BName3", "BValue": "recoverable"}], "TranType": [{"BName": "BName1", "BValue": "0001"}, {"BName": "BName2", "BValue": "0002"}, {"BName": "BName3", "BValue": "0011"}]} 

like查询:

1
select * from test where ((ctag->'BusTypes') ::text) like '%"BValue": "day"%'  

循环遍历jsonb数组:

数据格式如下:

1
2
[{"BName": "BName1", "BValue": "day"}, {"BName": "BName2", "BValue": "wet"}, {"BName": "BName3", "BValue": "recoverable"}]
SELECT jsonb_array_elements(lie1)->' BName'  BName from  food
posted @   徐徐图之  阅读(757)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示