当前位置: 首页 > news >正文

达梦、PostgreSQL数据库讲json解析成临时表(json_table函数的使用)

官网json_table文档路由
路径表达式文档路由

背景:有一些动态表格,需要新建一张中间表,里边就两三个字段比如主表id,某某类型id,某某类型是否选中。对于这种表新建个表还得加各种创建人修改人版本号是否逻辑删除啥的字段太过麻烦。于是可以直接用一个json保存信息,但解析这条json就需要费些功夫了。所以这里进行整理以备使用。

1.首先是数组json

在这里插入图片描述
实现效果为:
在这里插入图片描述
sql:(意为我要用JSON_TABLE函数解析一条json语句,ce.ceshi就是这条语句,我要将这条json集合下的每个元素进行解析成字段,其中本元素解析为c1列,本元素下的name属性解析为VARCHAR2类的字段,date解析为TIMESTAMP类的字段)

SELECT ceshi,b.* FROM CLOUD_CM_DEV.BUSI_CM_CESHI ce,
JSON_TABLE(ce.ceshi, '$[*]' COLUMNS(C1 VARCHAR2(50) FORMAT JSON PATH '$',C2 VARCHAR2(50) PATH '$.name',C3 TIMESTAMP PATH '$.date')) bwhere id = 1;
符号$[*]的理解是这个集合下的所有元素,$是指本元素,$.a是指此元素的a属性

若想嵌套查询可使用json_nested_col函数:
在这里插入图片描述

坑:
1.解析c1字段时不加FORMAT JSON或解析c2,c3加了FORMAT JSON会使该列null。如在这里插入图片描述

2.集合json解析在这里插入图片描述

SELECT CESHI,b FROM CLOUD_CM_DEV.BUSI_CM_CESHI ce,JSON_OBJECT_KEYS(ce.ceshi) b where id = 2;

在这里插入图片描述
val暂时未找到好办法加入同一行。

注意:使用JSON_OBJECT_KEYS时k必须有双引号包裹
无双引号时报错
在这里插入图片描述在这里插入图片描述

相关文章:

  • 通用外设驱动模型(四步法)
  • 微信小程序地图缩放scale隐性bug
  • [AI Tools] Dify 平台插件开发全解:如何构建 Tools 插件并解析输出逻辑
  • OpenCV中适用华为昇腾(Ascend)后端的逐元素操作(Per-element Operations)
  • 【质量管理】TRIZ因果链分析:解码质量问题的“多米诺效应“
  • 经典计算核心问题在于多项式时间内无法求解
  • 重庆工商职业学院“户卫者”团队为建筑外墙检测技术推广创新赋能
  • PostgreSQL创建只读账号
  • 自适应混合索引创建与管理:一种智能数据库优化机制的研究
  • PH热榜 | 2025-05-09
  • 『Python学习笔记』ubuntu解决matplotlit中文乱码的问题!
  • 鸿蒙电脑:五年铸剑开新篇,国产操作系统新引擎
  • 华为防火墙双机热备(负载分担)
  • 华为欧拉(EulerOS)系统全栈软件部署指南:从 Redis 到 MySQL 实战详解
  • 计算机视觉】OpenCV项目实战:eye_mouse_movement:基于opencv实战眼睛控制鼠标
  • Oracle — 数据管理
  • Faiss 索引深度解析:从基础到实战
  • 文旅田园康养小镇规划设计方案PPT(85页)
  • RabbitMQ-高级特性1
  • 如何避免双击时触发单击事件
  • “80后”赵亮出任上海普陀区委副书记
  • 最快3天开通一条定制公交线路!上海推出服务平台更快响应市民需求
  • 见微知沪|优化营商环境,上海为何要当“细节控”自我加压?
  • 98岁动物学家、北京大学教授杨安峰逝世
  • 以军总参谋长:已进入“决定性打击计划的第二阶段”
  • 圆桌丨中俄权威专家详解:两国携手维护战后国际秩序,捍卫国际公平正义