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 @   徐徐图之  阅读(761)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示