mysql 生成json,结合CONCAT()和COALESCE()在MySQL中生成JSON
我正在从函数构建小JSON块,我需要过滤空值,同时引用像这样的非空值(MySQL 5.0,所以没有内置的JSON函数):
COALESCE(CONCAT('[',
group_concat(
CONCAT('{ "key": "', REPLACE(a.val, '"', '\\"'), '"}')
SEPARATOR ', ')
, ']'), 'null') AS jsonval
输出类似这样的东西(这是一个嵌入完整JSON块的值):
>带值:[{“key”:“foo”},{“key”:“bar”},{“key”:“baz”}]
>没有值(NULL):null
>带空字符串:[{“key”:“”}]
对于每个a.val,我想在我的列表中添加一个条目,但是如果没有找到值,则将字符串设置为null而不是完整列表.它工作得很好,但我需要在结果JSON中处理空字符串以及NULL值为null.
REPLACE(),CONCAT()和COALESCE()在空值上很好地协同工作,但是没有检测到空字符串,我怎样才能以相同的方式处理NULL和空字符串?
我已经看到有关条带空值的this question,我正在寻找相反的结果.
解决方法:
只是迭代你的想法!
COALESCE(CONCAT('[',
group_concat(
CONCAT('{ "key": ',COALESCE(CONCAT('"', REPLACE(a.val, '"', '\\"'), '"'), 'null') ,'}')
SEPARATOR ', ')
, ']'), 'null') AS jsonval
编辑后:
COALESCE(CONCAT('[',
group_concat(
CONCAT('{ "key": ',
CASE WHEN a.val IS NULL THEN 'null'
WHEN a.val = '' THEN 'null'
ELSE CONCAT('"', REPLACE(a.val, '"', '\\"'), '"')
END
,'}')
SEPARATOR ', ')
, ']'), 'null') AS jsonval
标签:json,mysql,null,coalesce
来源: https://codeday.me/bug/20190527/1167068.html
mysql 生成json,结合CONCAT()和COALESCE()在MySQL中生成JSON相关推荐
- mysql 模糊匹配比自己短潆字符_mysql中生成字符串对应的英文字母(拼音首字母)...
mysql中生成字符串对应的英文字母(拼音首字母)的存储过程,触发器和函数 1.规则 1.1.输入字符串长度255(可变),输出字符串10(可变) 1.2.对于全英文字母或数字,输出空格后的首字符,均 ...
- java中json重复数据结构_JS实现去除数组中重复json的方法示例
本文实例讲述了JS实现去除数组中重复json的方法.分享给大家供大家参考,具体如下: var array = [{"name":"123"},{"na ...
- java ee自动生成编码_EE Servlet 3:在Servlet中生成HTML输出
java ee自动生成编码 如果您只需要在EE Web模块中处理少量请求URI,那么在Servlet代码中生成自己HTML响应可能比使用完整的模板库更容易. 作为示例的一部分,我尝试了一个非常简单的J ...
- python中字典和json的区别_详解python中的json和字典dict
定义 python中,json和dict非常类似,都是key-value的形式,而且json.dict也可以非常方便的通过dumps.loads互转.既然都是key-value格式,为啥还需要进行格式 ...
- unity.生成表示地图信息的二维数组_Unity3D 中生成任意形状3D Texture amp; 体积云...
3d 贴图一般在 Houdini等软件生成,毕竟需要其他软件支持,导入导出预览效率和制作效率都不高 (Houdini也不便宜....别问就是穷...) Unity中只见到过一些3D噪音图的生成,本文提 ...
- java存储json到mongo_使用spring在mongodb中存储JSON模式
我是 Spring数据和mongodb的新手.我有一个表示 JSON模式的 JSON对象,我需要使用spring数据将其存储在mongodb中.但JSON模式的问题是JSON Schema的结构是动态 ...
- java url json字符串_使用HttpClient将URL中的JSON查询字符串发送到Web服务(Java)
我有一个我建立的Web服务...我现在要做的是发送一个简单的请求,其中包含一个从Tapestry Web应用程序到该Web服务的json查询字符串.我四处搜索,大多数人都说使用Apache HttpC ...
- key位置 win10生成的ssh_Windows 10:如何在OpenSSH中生成SSH密钥
通过生成自己的安全密钥,进一步扩展Microsoft在Windows 10中的OpenSSH实现. 图片来源:www.ghost580.comOpenSSH的使用无处不在,通过网络安全访问客户端设备. ...
- python读json文件数组_如何在python中从json文件读取json对象数组
我有一个名为example.json的json文件,包含以下内容[{ "product/productId" : "XXX", "product/ti ...
最新文章
- bootstrap课程1 bootstrap为什么这么火
- 数据结构学习-带头结点的单链表就地逆置
- Android项目中Bluetooth类如何写
- ORB-SLAM2-金字塔求解-特征点的提取-描述子的计算
- 全网抢夺“刘畊宏女孩”
- 逐渐“狗化”!网易云音乐控诉酷狗像素级抄袭,酷狗高管反击...
- layui表格取消横向滚动条_layui滑动条如何隐藏
- Linux 基本命令(九)--vim 常用命令
- 以动词开头的习惯搭配:转
- 在c语言中逻辑或运算符失身额,我的Fortran基本用法小结【转载】
- VDN For PB Web实现消息推送
- FPGA学习记录(7)<巴特沃斯低通IIR滤波器FPGA实现>
- SD卡无法格式化方法介绍
- 初来乍到,多多关照。
- 如何设计hash函数
- 服务器基本搭建(Windows系统阿里云服务器为例)-购买云服务器
- 一文搞掂十大经典排序算法
- 基于STM32F03RCT的多路频率占空比可调PWM输出
- 无法启动此程序因为计算机丢失zlib.dll,zlib1.dll怎么修复?zlib1.dll丢失解决方法及注意事项...
- google earth的网页版
热门文章
- Waymo的自主进化
- 2021年大数据Flink(九):Flink原理初探
- 零起点学算法07——复杂一点的表达式计算
- python3x 线程threading的使用
- RxJava firstElement 与 lastElement 以及 elementAt
- android weight(权重)的具体分析
- POJ 2942 Knights of the Round Table (算竞进阶习题)
- BZOJ1202: [HNOI2005]狡猾的商人
- Ruby 之 Block, Proc, Lambda 联系--区别,转载
- c#中分割字符串的几种方法