DB2查询结果表拼接JSON字符串 db2拼接函数
liebian365 2024-10-28 17:16 21 浏览 0 评论
在oracle和mysql中,可以直接使用对应的函数将查询结果转化为JSON字符串,但是在DB2中没有找到对应的函数。在这里使用listagg函数,将查询表结果直接转化为JSON字符串。
创建临时表如下:
create table temp.student(
stu_name varchar(20),
xb varchar(10),
age int,
crt_date date
);
插入部分数据后,查询结果表如下:
拼接SQL如下:
select '[' ||
listagg(cast('{"CRT_DATE":"' || CRT_DATE || '' ||
'","STU_NAME":"' || STU_NAME ||
'","XB":"' || XB ||
'","AGE":' || AGE ||
'}' as varchar(10000)), ',') || ']'
from temp.student;
查询结果通过在线JSON解析结果如下:
JOSN拼接成功。
PS:需要注意的点:
1.如果拼接的结果超过4000个字符,会报下面的错误,所以需要通过cast将结果转化一下。
[54006][-137] The length resulting from "LISTAGG" is greater than "4000".. SQLCODE=-137, SQLSTATE=54006, DRIVER=4.26.14
转化方法:
LISTAGG(CAST('要拼接的字段或字符串' AS VARCHAR(10000)), ',')
2.拼接的字段中如果有空值,需要对空值进行处理,转化为“”字符串
nvl(char(round(task, 2)), '""')
相关推荐
- 关于C++如何选择正确的stl(c++中stl)
-
C++标准模板库(STL)指南:如何选择正确的工具C++标准模板库(STL)提供了丰富的容器、算法和迭代器,极大地简化了C++开发。然而,面对如此多的选择,如何为特定任务选择合适的S...
- 调试中遇到的STL语句再记录(调试运行的主要目的是查找语法错误)
-
又是很有一段时间没有调试STL程序了,因此有些语句竟然不能100%确认了,因此测试了一下,做个简单的记录:这个段程序实质上是实现了M50.0不为1,就SETM60.0;复位M60.0的条件是MW52...
- 让ChatGPT当求职者——介绍一下STL,详细说明STL如何实现vector
-
向ChatGPT提问:假如你是一个求职者,正在进行面试,请详细介绍一下STL,详细说明STL如何实现vector。...
- 零基础自学PLC入门(零基础自学plc入门视频)
-
零基础自学PLC入门1.1简单介绍原理及作用:利用按钮推动传动机构,使动触点与静触点按通或断开,并实现电路换接的开关。是一种结构简单,应用十分广泛的主令电器。在电气自动控制电路中,用于手动发出控...
- web端渲染3d模型,ply,stl(webview渲染机制)
-
最近在公司里面做一个web功能,需要在页面上渲染3d模型,主要是做口腔扫描。做web3d,可用的js库还是很多,首先想到的就是...
- 在看别人写包含STL的程序时,如何能快速读懂STL程序?
-
对于一般初学PLC或只熟悉LAD、FBD语言的人来说,再看到STL语言编写的程序会很迷糊,觉得无从下手,通常会转换成自己熟悉的编程语言(当然了大部分是转换不过去的),其实STL语言还是比较好理解的,今...
- 618买完Mac的你,真的会用macOS了吗?看这就够了
-
本内容来源于@什么值得买APP,观点仅代表作者本人|作者:神秘的帅哥写在篇头用了MacBook也快一年了,刚开始使用时觉得很陌生又难用,便不停地在张大妈、知乎、b站等各种网站看一些有关Mac的使用...
- 气疯了,28个三菱PLC系列的常见问题,每个都是踏错的路
-
安装软件问题问:未能解压成功,压缩格式已损坏...
- 1秒钟生成3D模型!腾讯混元甩出5款开源3D模型
-
作者|陈骏达...
- C++ STL 漫谈(c++ stl详解)
-
标准模板库(StandardTemplateLibrary,STL)是惠普实验室...
- [三菱] 三菱ST语言:第8课 case语句的使用
-
本期内容:case语句基础case语句应用case语句注意事项往期内容:三菱ST语言:第7课IF语句的使用三菱ST语言:第6课FB、标签的用法三菱ST语言:第5课数据处理与算法三菱ST语言:第4...
- 西门子STL代码解读:一段关于定时器的STL代码
-
看到一段关于定时器的STL源码,加深了对边沿指令的理解,解读学习一下。原程序...
- 超实用!C++标准模板库(STL)系统教程,助初学者轻松上手
-
以下是一份面向初学者的C++标准模板库(STL)系统入门教程,结合核心组件与实战案例:一、STL基础概念STL(StandardTemplateLibrary)是C++标准库的核心组成部分,基于泛...
- 西门子STL代码解读:ENCO代码块(西门子s-itr什么指令)
-
今天我们来解读编码指令的STL源码,一直分不清编码和解码,做了个便于记忆的口诀“编成数,解成位”。以前也用SCL做过类似的功能,正好有朋友私信问我,就拿来解读一下。源码接口及源码...
- 西门子S7-300的编程语言有哪些?STL、LAD、FBD、GRAPH如何使用?
-
STEP7是西门子S7-300系列PLC应用设计软件包,所支持的PLC编程语言非常丰富。STEP7软件的标准版支持STL语句表、LAD梯形图及FBD功能块图三种基本编程语言,并且在STEP7中可以相互...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- wireshark怎么抓包 (75)
- qt sleep (64)
- cs1.6指令代码大全 (55)
- factory-method (60)
- sqlite3_bind_blob (52)
- hibernate update (63)
- c++ base64 (70)
- nc 命令 (52)
- wm_close (51)
- epollin (51)
- sqlca.sqlcode (57)
- lua ipairs (60)
- tv_usec (64)
- 命令行进入文件夹 (53)
- postgresql array (57)
- statfs函数 (57)
- .project文件 (54)
- lua require (56)
- for_each (67)
- c#工厂模式 (57)
- wxsqlite3 (66)
- dmesg -c (58)
- fopen参数 (53)
- tar -zxvf -c (55)
- 速递查询 (52)