七叶笔记 » 数据库 » postgres之jsonb属性的使用操作

postgres之jsonb属性的使用操作

参数:

target:目标(jsonb类型的属性)

path :路径,如果jsonb是数组‘{0,a}'表示在下标是0的位置更新a属性,如果不是数组,是对象,则写‘{a}'即可

new_value:新值

选填参数:create_missing:jsonb字段不存在f1属性时创建,默认为true

返回:更新后的jsonb

官方文档给出的示例(jsonb数组):

更新jsonb属性:

为jsonb插入属性:

查询

补充一下吧

1、to_jsonb()方法接受一个参数,将参数转换为jsonb 2、extract(epoch from now())*1000 获取毫秒值

field 表示取的时间对象,source 表示取的日期来源,类型为 timestamp、time 或 interval。

extract(epoch from now())查看现在距1970-01-01 00:00:00 UTC 的秒数

epoch:新纪元时间 Epoch 是以 1970-01-01 00:00:00 UTC 为标准的时间,将目标时间与 1970-01-01 00:00:00时间的差值以秒来计算 ,单位是秒,可以是负值;

postgresql操作jsonb数组

先看表结构:

label字段数据实例

要求:写sql实现添加一个标签,删除一个标签,清空标签;

1、添加一个标签

直接使用 || 符号将两个jsonb连接成一个jsonb

注意:当label为null时这样执行最后得到的也是null

2、清空标签

这个比较简单,我直接设置为null

3、删除一个标签

这个就比较麻烦一点,我用到了

不熟悉这些符号和函数的用法的看:http://www.postgres.cn/docs/10/datatype-json.html

以上就是我解决pg中操作jsonb数组的方法,希望能给大家一个参考,也希望大家多多支持七叶笔记.

相关文章