我正在从函数构建小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相关推荐

  1. mysql 模糊匹配比自己短潆字符_mysql中生成字符串对应的英文字母(拼音首字母)...

    mysql中生成字符串对应的英文字母(拼音首字母)的存储过程,触发器和函数 1.规则 1.1.输入字符串长度255(可变),输出字符串10(可变) 1.2.对于全英文字母或数字,输出空格后的首字符,均 ...

  2. java中json重复数据结构_JS实现去除数组中重复json的方法示例

    本文实例讲述了JS实现去除数组中重复json的方法.分享给大家供大家参考,具体如下: var array = [{"name":"123"},{"na ...

  3. java ee自动生成编码_EE Servlet 3:在Servlet中生成HTML输出

    java ee自动生成编码 如果您只需要在EE Web模块中处理少量请求URI,那么在Servlet代码中生成自己HTML响应可能比使用完整的模板库更容易. 作为示例的一部分,我尝试了一个非常简单的J ...

  4. python中字典和json的区别_详解python中的json和字典dict

    定义 python中,json和dict非常类似,都是key-value的形式,而且json.dict也可以非常方便的通过dumps.loads互转.既然都是key-value格式,为啥还需要进行格式 ...

  5. unity.生成表示地图信息的二维数组_Unity3D 中生成任意形状3D Texture amp; 体积云...

    3d 贴图一般在 Houdini等软件生成,毕竟需要其他软件支持,导入导出预览效率和制作效率都不高 (Houdini也不便宜....别问就是穷...) Unity中只见到过一些3D噪音图的生成,本文提 ...

  6. java存储json到mongo_使用spring在mongodb中存储JSON模式

    我是 Spring数据和mongodb的新手.我有一个表示 JSON模式的 JSON对象,我需要使用spring数据将其存储在mongodb中.但JSON模式的问题是JSON Schema的结构是动态 ...

  7. java url json字符串_使用HttpClient将URL中的JSON查询字符串发送到Web服务(Java)

    我有一个我建立的Web服务...我现在要做的是发送一个简单的请求,其中包含一个从Tapestry Web应用程序到该Web服务的json查询字符串.我四处搜索,大多数人都说使用Apache HttpC ...

  8. key位置 win10生成的ssh_Windows 10:如何在OpenSSH中生成SSH密钥

    通过生成自己的安全密钥,进一步扩展Microsoft在Windows 10中的OpenSSH实现. 图片来源:www.ghost580.comOpenSSH的使用无处不在,通过网络安全访问客户端设备. ...

  9. python读json文件数组_如何在python中从json文件读取json对象数组

    我有一个名为example.json的json文件,包含以下内容[{ "product/productId" : "XXX", "product/ti ...

最新文章

  1. bootstrap课程1 bootstrap为什么这么火
  2. 数据结构学习-带头结点的单链表就地逆置
  3. Android项目中Bluetooth类如何写
  4. ORB-SLAM2-金字塔求解-特征点的提取-描述子的计算
  5. 全网抢夺“刘畊宏女孩”
  6. 逐渐“狗化”!网易云音乐控诉酷狗像素级抄袭,酷狗高管反击...
  7. layui表格取消横向滚动条_layui滑动条如何隐藏
  8. Linux 基本命令(九)--vim 常用命令
  9. 以动词开头的习惯搭配:转
  10. 在c语言中逻辑或运算符失身额,我的Fortran基本用法小结【转载】
  11. VDN For PB Web实现消息推送
  12. FPGA学习记录(7)<巴特沃斯低通IIR滤波器FPGA实现>
  13. SD卡无法格式化方法介绍
  14. 初来乍到,多多关照。
  15. 如何设计hash函数
  16. 服务器基本搭建(Windows系统阿里云服务器为例)-购买云服务器
  17. 一文搞掂十大经典排序算法
  18. 基于STM32F03RCT的多路频率占空比可调PWM输出
  19. 无法启动此程序因为计算机丢失zlib.dll,zlib1.dll怎么修复?zlib1.dll丢失解决方法及注意事项...
  20. google earth的网页版

热门文章

  1. Waymo的自主进化
  2. 2021年大数据Flink(九):Flink原理初探
  3. 零起点学算法07——复杂一点的表达式计算
  4. python3x 线程threading的使用
  5. RxJava firstElement 与 lastElement 以及 elementAt
  6. android weight(权重)的具体分析
  7. POJ 2942 Knights of the Round Table (算竞进阶习题)
  8. BZOJ1202: [HNOI2005]狡猾的商人
  9. Ruby 之 Block, Proc, Lambda 联系--区别,转载
  10. c#中分割字符串的几种方法