Mysql中JSON操作関数JSON_EXTRACT()

1233 ワード

1.例:JSON_EXTRACT()は、JSONの抽出関数である、$.nameは、文書を位置決めするJSON pathフィールドを示すnameである.JSON path$で始まり、次に例を示します.
{
    "num": 123,
    "arr": [1,2],
    "obj": {
        "a": 3,
        "b": 4
    }
}

$.num //  :123
$.arr //  :[1, 2]
$.arr[1] //  :1
$.obj.a //  :3

2.適用例:
select 
    oi.oi_id order_item_id,
    replace(JSON_EXTRACT(o.coupon_json,'$.couponPlatDTO.c_sn'),'"','') coupon_sn
from fx_orders_items oi 
INNER JOIN fx_orders o on oi.o_id = o.o_id 
where  o.o_id = 6947877031523765285;

## replace(str,'"','')  --  str    "    

o.coupon_json対応データの例:
{
    "couponPlatDTO": {
        "c_sn": "HYQD1219100037457642053929",
        "couponBatchId": "cb_130011",
        "couponBatchName":  - 99 10    ",
        "couponDenominationPrice":"10",
        "couponPlatDiscountPrice":"10.00",
        "useCoupon":1
    }
    "usePlatCoupon":1,
    "useStoreCoupon":0
}