达梦数据库DM8(二十二)

455 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第22天,点击查看活动详情

生命不息,学习不止

题外话

人类优于其他物种的一个重要方面是人类学会了思考,所以说在人类的进化道路上,思考是举足轻重的,为了防止大家小脑袋瓜锈住,我打算每天出一道题让大家好好的思考一下。

每日一题:我们都知道刺猬后背长满了刺,但如果用刺猬刺刺猬,刺猬会被刺猬的刺刺伤嘛?还是说被刺的刺猬被刺猬用刺猬的刺刺伤了?

废话不多说,上货!

正文

在这里插入图片描述

上回说了几个常用的达梦数据库json的相关函数,但是没有说完,今天我们继续。

json相关函数

1.jsonb_array_elements:用于将json数组转变为键值对的json格式,注意:参数必须为json中的数组类型数据,否则会报错,报错提示,[-3117]:只能从数组中提取元素.

2.jsonb_array_elements_text:作用同上,区别就是会将字符类型数据中转译字符,如\n,\r,\t等转换为具体的键盘操作(换行,回车等)

3.jsonb_strip_nulls:将键值对json中value为null的键值对过滤掉,返回value不为null的所有键值对json (个人评价:一个超级方便的函数,省老多事了)

4.jsonb_set:用于替换字符串json中指定项的的值,并返回更改后的json,这里说一下他的参数

json_set(json_name,'{node_number,node_key,key},'new_value')

json_name:json对象,也可以直接写一个json,如'[{"f1":{"a":1}}]'

node_number:json中子节点索引,例如上例中的json,我想修改a:15,那么node_number就是0

node_key:子节点json中的key,上例中的node_key就f1

key:最终对应的键值对的key值。上例中的key就是a

new_value:要修改的值,上例中要将a修改为15,那么该参数就传15

下一篇我们继续讲达梦数据库中json相关的函数及其使用。

在这里插入图片描述

大家看完发现有什么错误,写在下面吧!跟我黑虎阿福比划比划! 在这里插入图片描述