百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分析 > 正文

DB2查询结果表拼接JSON字符串 db2拼接函数

liebian365 2024-10-28 17:16 21 浏览 0 评论

在oracle和mysql中,可以直接使用对应的函数将查询结果转化为JSON字符串,但是在DB2中没有找到对应的函数。在这里使用listagg函数,将查询表结果直接转化为JSON字符串。

创建临时表如下:

Bash
create table temp.student(
    stu_name varchar(20),
    xb varchar(10),
    age int,
    crt_date date
);

插入部分数据后,查询结果表如下:

拼接SQL如下:

Bash
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中可以相互...

取消回复欢迎 发表评论: