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

达梦数据库SQL

达梦JSON函数技术文档

SQL中关键词处理

-- 必须要使用双引号包裹
select id,"comment" from t_cmp_rd_process;select id,"commit" from t_cmp_rd_gjj_eva;

JSON_EXTRACT函数

-- party_sup_other_json 是包含JSON数据的列名。
-- '$.content_abstract' 是JSON路径,用于指定要提取的元素。
select id,json_value(party_sup_other_json,'$.content_abstract') from tv_sup_sl_dw_query where json_extract(party_sup_other_json,'$.content_abstract') != 'null';

结果

JSON_TABLE函数

-- tv_sup_sl_dw_query 是包含JSON数据的表名。
-- tv.party_sup_other_json是包含JSON数据的列名。
-- '$.parents[*]' 是指向JSON对象中需要转换的部分的路径。
-- COLUMNS 子句定义了转换后的虚拟表的列名和数据类型,以及它们在JSON对象中的路径。
-- as pjson 为转换后的虚拟表指定了一个别名,以便在查询中引用。
select tv.sup_record_id,pjson.status from tv_sup_sl_dw_query tv,json_table(tv.party_sup_other_json,'$.parents[*]' columns(status varchar(50) path '$.status',directly int path '$.directly')) as pjson
where pjson.status = 'yqs'

结果

{  "orderNumber": "12345",  "customer": {  "name": "John Doe",  "email": "johndoe@example.com"  },  "items": [  {  "productId": "A001",  "quantity": 2  },  {  "productId": "A002",  "quantity": 1  }  ]  
}
SELECT o.order_id, jt.orderNumber, jt.customer.name, jt.customer.email, jt.items.productId, jt.items.quantity  
FROM orders o,  
JSON_TABLE(  o.order_details,  '$' COLUMNS (  orderNumber VARCHAR2(50) PATH '$.orderNumber',  customer OBJECT PATH '$.customer' COLUMNS (  name VARCHAR2(100) PATH '$.name',  email VARCHAR2(100) PATH '$.email'  ),  items NESTED PATH '$.items[*]' COLUMNS (  productId VARCHAR2(10) PATH '$.productId',  quantity NUMBER PATH '$.quantity'  )  )  
) AS jt;

请注意,对于嵌套的对象和数组,你可能需要使用OBJECT PATH和NESTED PATH子句来正确解析它们。此外,[*]用于表示JSON数组中的所有元素。

http://www.lryc.cn/news/320666.html

相关文章:

  • python教程——把视频转成gif
  • 深入浅出Go的`encoding/xml`库:实战开发指南
  • 深度学习之扩散模型(Diffusion model)
  • Tomcat Session ID---会话保持
  • Session会话绑定
  • win7、win10、win11 系统能安装的.net framework 版本以
  • RediSearch比Es搜索还快的搜索引擎
  • mybatis-plus 的saveBatch性能分析
  • python异常:pythonIOError异常python打开文件异常
  • 电话机器人语音识别用哪家更好精准度更高。
  • 【Unity动画】Unity如何导入序列帧动画(GIF)
  • uniapp APP 上传文件
  • arcgis数据导出到excel
  • 吴恩达深度学习环境本地化构建wsl+docker+tensorflow+cuda
  • R语言:microeco:一个用于微生物群落生态学数据挖掘的R包:第七:trans_network class
  • ubuntu下在vscode中配置matplotlibcpp
  • Vue面试题,背就完事了
  • centos创建并运行一个redis容器 并支持数据持久化
  • nvm安装和使用保姆级教程(详细)
  • 跳绳计数,YOLOV8POSE
  • 阿里云ecs服务器配置反向代理上传图片
  • 免费阅读篇 | 芒果YOLOv8改进110:注意力机制GAM:用于保留信息以增强渠道空间互动
  • GetLastError()返回值及含义
  • k8s admin 用户生成token
  • 【vscode】vscode重命名变量后多了很多空白行
  • 深度学习实战模拟——softmax回归(图像识别并分类)
  • vue实现element-UI中table表格背景颜色设置
  • RabbitMQ学习总结-消息的可靠性
  • 2024蓝桥杯每日一题(BFS)
  • 力扣思路题:最长特殊序列1