zoukankan      html  css  js  c++  java
  • postgre 数据库uuid类型和jsonb类型查询

    第一:“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"%' 
  • 相关阅读:
    9.19题解
    9.18题解
    改码风
    找到了几个好的网站
    题目链接
    二分上机训练题解
    二分例题简单说明
    贪心上机训练题解
    贪心算法例题简单说明
    Johnson法则证明
  • 原文地址:https://www.cnblogs.com/haoliyou/p/13743802.html
Copyright © 2011-2022 走看看