有一张表A,表里有一个字段name,存放两条记录,一条是{"主商品名称.":"米家小米空气净化器ProH家用除甲醛除菌除二手烟味除异味静音设计AC-M7-SC","履约单号(填)":"300612751","延保服务名称.":"两年只换不修1001-3000","关联订单号.":"220087653007","延保Sku.":"100018934784","延保订单号.":"220087653007","服务商名称.":"海南惠聚"},一条是{"服务商名称.":"惠聚信息技术(海南)有限公司","主商品名称.":"锐捷(Ruijie)RG-EW3200GX无线WIFI6路由器千兆双频3200Mmesh组网高速穿墙王","延保Sku.":"100039904510","延保订单号.":"246609520088","延保服务名称.":"鼠标\\路由器\\键盘60天深度体验赠2年质保换新A501-800","关联订单号.":"250764695297","履约单号(填)":"815079263"},现在执行sql语句select get_json_object(regexp_replace(B, '履约单号(填)', 'lvyuedanhao'), '$.lvyuedanhao') from A,为什么只能解析出来一条数据呢?
时间: 2023-08-22 12:07:02 浏览: 236
xiaomi-smarthome-5.4.54
4星 · 用户满意度95%
根据你提供的 SQL 语句来看,它实际上是对字段 B 进行正则表达式替换操作,将其中的字符串“履约单号(填)”替换为“lvyuedanhao”,然后再从替换后的 JSON 字符串中解析出“lvyuedanhao”字段的值。但是,你没有提供 B 字段的具体内容,因此我无法确定具体原因。可能的情况是:
1. B 字段只包含一条记录,导致只能解析出一条数据。
2. B 字段中包含多条记录,但是只有一条记录中包含“lvyuedanhao”字段,导致只能解析出一条数据。
3. B 字段中包含多条记录,但是每条记录中都包含“lvyuedanhao”字段,但是解析的语法有误,导致只能解析出一条数据。
阅读全文