暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【AntDB数据库 SQL语法专栏】——常用函数(10)JSON函数

北陌 2024-04-30
51

JSON函数

下表为JSON 创建函数:

函数描述例子例子结果
to_json(anyelement) to_jsonb(anyelement)把该值返回为json或者jsonb。数组和组合 会被(递归)转换成数组和对象;对于不是数组和组合的值,如果有 从该类型到json的造型,造型函数将被用来执行该 转换;否则将产生一个标量值。对于任何不是数字、布尔、空值的标 量类型,将使用文本表达,在这种风格下它是一个合法的 json或者jsonb值。to_json(‘Fred said “Hi.”’::text)“Fred said “Hi.””
array_to_json(anyarray [, pretty_bool])把数组作为一个 JSON 数组返回。一个 SQL 多维数组会成为一个数组 的 JSON 数组。如果pretty_bool为真,将在 第 1 维度的元素之间增加换行。array_to_json(’{{1,5},{99,100}}’::int[])[[1,5],[99,100]]
row_to_json(record [, pretty_bool])把行作为一个 JSON 对象返回。如果pretty_bool为真,将在第1层元素之间增加换行。row_to_json(row(1,‘foo’)){“f1”:1,“f2”:“foo”}
json_build_array(VARIADIC “any”) jsonb_build_array(VARIADIC “any”)从一个可变参数列表构造一个可能包含异质类型的 JSON 数组。json_build_array(1,2,‘3’,4,5)[1, 2, “3”, 4, 5]
json_build_object(VARIADIC “any”) jsonb_build_object(VARIADIC “any”)从一个可变参数列表构造一个 JSON 对象。通过转换,该参数列表由交替 出现的键和值构成。json_build_object(‘foo’,1,‘bar’,2){“foo”: 1, “bar”: 2}
json_object(text[]) jsonb_object(text[])从一个文本数组构造一个 JSON 对象。该数组必须可以是具有偶数个成员的 一维数组(成员被当做交替出现的键/值对),或者是一个二维数组(每一个 内部数组刚好有 2 个元素,可以被看做是键/值对)。json_object(’{a, 1, b, “def”, c, 3.5}’)``json_object(’{{a, 1},{b, “def”},{c, 3.5}}’){“a”: “1”, “b”: “def”, “c”: “3.5”}
json_object(keys text[], values text[])``jsonb_object(keys text[], values text[])json_object的这种形式从两个独立的数组得到键/值对。在其 他方面和一个参数的形式相同。json_object(’{a, b}’, ‘{1,2}’){“a”: “1”, “b”: “2”}


关于AntDB数据库

电信级核心交易数据库AntDB 数据库始于 2008年,在运营商的核心系统上,为全国 24个省份的 10亿多用户提供在线服务;具备高性能、弹性扩展、高可靠等产品特性,每秒可处理十多万笔核心交易,并保障系统平稳运行超 10年零故障。 AntDB 广泛应用于通信、金融、交通、能源、物联网等多个行业,在 200多个项目上成功落地。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论