MySQL读取JSON字段数据

ORDERS表中DELIVER_ADDRESS字段的JSON格式为

{
    "addressZh": "海府一横路",
    "areaName": "美兰区",
    "areaid": 22469,
    "cityName": "海口市",
    "cityid": 2121,
    "contact": "andy",
    "custSeq": "P2018102600000001",
    "deliverSeq": "D2018110900000001",
    "isDefaultAdd": "Y",
    "postcode": "",
    "provinceName": "海南",
    "provinceid": 23,
    "telephone": "176****3369",
    "townId": 0
}

####### 使用JSON_EXTRACT 函数,从JSON中读取字段并转成临时表

CREATE TABLE tmp AS SELECT
    ORDER_NO,
    REPLACE (
        JSON_EXTRACT (
            DELIVER_ADDRESS,
            '$.contact'
        ),
        '"',
        ''
    ) AS 'contactName',
    REPLACE (
        JSON_EXTRACT (
            DELIVER_ADDRESS,
            '$.telephone'
        ),
        '"',
        ''
    ) AS 'contactMobile'
FROM
    ORDERS b

 

######更新联系人姓名字段

UPDATE ORDERS a
SET a.CONTACT_NAME = (
    SELECT
        contactName
    FROM
        tmp b
    WHERE
        a.ORDER_NO = b.ORDER_NO
)

######更新联系人电话字段
 

UPDATE ORDERS a
SET a.CONTACT_PHONE = (
    SELECT
        contactMobile
    FROM
        tmp b
    WHERE
        a.ORDER_NO = b.ORDER_NO
);

######删除表

drop table tmp;

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值