• 博客访问: 605063
  • 博文数量: 136
  • 用 户 组: 普通用户
  • 注册时间: 2013-12-07 18:53
  • 认证徽章:
个人简介

Dylan, Oracle ACE-A, 山东Oracle用户组(http://www.sdoug.com)创始人, 从事Oracle开发工作超过7年, 已获得OCM认证并评为Oracle用户组年轻专家(Young Expert Program)。

文章分类

全部博文(136)

文章存档

2016年(16)

2015年(53)

2014年(40)

2013年(27)

分类: Oracle

2016-12-09 23:32:49

本文提供了Oracle Database 12c2版(12.2)中引入的SQL / JSON函数的示例。

建立测试表及数据

本文中的示例使用以下表:


JSON_OBJECT
函数

JSON_OBJECT函数将逗号分隔的键值对列表转换为JSON中的对象成员。


JSON_OBJECTAGG聚合函数

JSON_OBJECTAGG聚合函数创建一个JSON对象,其中包含通过聚合每行中的键值对形成的对象成员列表。


JSON_ARRAY函数

JSON_ARRAY函数将以逗号分隔的表达式列表转换为JSON数组。


JSON_ARRAYAGG聚合函数

JSON_ARRAYAGG聚合函数类似于LISTAGG函数,将每行的表达式聚合到单个JSON数组中。


复杂的JSON 对象

每个函数调用本身可以是一个表达式,所以他们可以很容易地组合创建复杂的JSON对象。



如果我们将JSON格式化,我们可以看到更好的结构。 



处理NULL

所有的SQL /JSON函数都具有确定如何处理空值的能力。默认值为NULL ON NULL,但这可以更改为ABSENT ON NULL



RETURNING子句

SQL /JSON函数可以可选地包括RETURNING子句,以指定如何返回值。所有返回都可能使用BYTECHAR指定的不同大小的VARCHAR2值。除JSON_OBJECT函数外,所有函数都可以选择以CLOB格式返回其输出。


文档默认返回类型为VARCHAR24000)。

FORMAT JSON子句

FORMATJSON子句是可选的,用于语义清晰度


使用数字做为Key

SQL /JSON函数不接受数字作为Key


 
 如果你需要强制他们使用,只需使用TO_CHAR函数将它们转换为字符串。



阅读(718) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册