当前位置: 首页 > 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必须有双引号包裹
无双引号时报错
在这里插入图片描述在这里插入图片描述

http://www.xdnf.cn/news/352243.html

相关文章:

  • HunyuanCustom, 腾讯混元开源的多模态定制视频生成框架
  • PostgreSQL 的 pg_advisory_lock 函数
  • 输入顶点坐标输出立方体长宽高的神经网络
  • Microsoft Azure DevOps针对Angular项目创建build版本的yaml
  • 【MySQL】存储引擎 - ARCHIVE、BLACKHOLE、MERGE详解
  • 电机密集型工厂环境下的无线通信技术选型与优化策略
  • Azure资源创建与部署指南
  • 嵌入式培训之C语言学习完(十七)结构体、共用体、枚举、typedef关键字与位运算
  • 嵌入式openharmony标准系统中GPIO口控制详解
  • rust-candle学习笔记11-实现一个简单的自注意力
  • 前端工程化和性能优化问题详解
  • Vue3 中 ref 与 reactive 的区别及底层原理详解
  • fakebook
  • 【Linux】深入拆解Ext文件系统:从磁盘物理结构到Linux文件管理
  • 在企业级项目中高效使用 Maven-mvnd
  • 2025-05-10-FFmepg库裁切有水印的视频
  • docker 日志暴露方案 (带权限 还 免费 版本)
  • 企业如何将钉钉付款单高效集成到金蝶云星空?
  • 高频微服务面试题总结
  • 【MySQL】联合查询
  • 自适应混合索引创建与管理:一种智能数据库优化机制的研究
  • 高并发内存池(二):项目的整体框架以及Thread_Cache的结构设计
  • 怎么用idea打jar包
  • 从“山谷论坛”看AI七剑下天山
  • 集成管理工具Gitlab
  • 高清屏幕录像工具 Mirillis Action v4.45.0
  • kitty 终端ssh 命令远程无法正常输入命令
  • 第J7周:ResNeXt解析
  • 【Linux】环境变量(图文)
  • Servlet、HttpServlet 和 DispatcherServlet 区别与关系