haoliyou

第一:“uuid”类型

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

#{id,jdbcType=OTHER}::uuid

第二:“jsonb”类型

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

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

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

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

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

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

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

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

数据格式如下:

{"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查询:

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

分类:

技术点:

相关文章: