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

华为GaussDB T JSON_VALUE

墨天轮 2019-10-12
1222

JSON_VALUE

语法:

JSON_VALUE(json_data, path_expr [returning_clause] [on_error_clause] [on_empty_clause])

功能:返回指定路径JSON标量数据。

说明:

  • json_data:合法的JSON非标量数据(数组或对象);如果为空串''或空值NULL,则该函数返回空值NULL。
  • path_expr:路径表达式;如果路径表达式非法,则该函数报错。
  • returning_clause:
    RETURNING [VARCHAR2[(size)]] | CLOB
    • 说明:
      • 未指定该子句时,默认返回VARCHAR2(3900);
      • size取值范围为1-32767,未指定size时,默认为3900;
      • 返回字符串转义字符会做反转义处理,例如标量字符串"A\"B"则反转义为A"B。
  • on_error_clause:
    [ERROR]|[NULL] ON ERROR
    • 说明:

      当出现以下错误时:

      • json_data为不合法的JSON数据或为JSON标量;
      • 路径表达式匹配到非标量数据(数组或对象);
      • 路径表达式未匹配到数据,且未指定on_empty_clause子句;
      • 返回JSON数据超过returning_clause子句指定的大小;
      • 路径表达式匹配到多个JSON数据。

      该子句返回值行为:

      • ERROR ON ERROR:返回错误;
      • NULL ON ERROR:返回空值NULL,也是未指定on_error_clause子句的默认行为。
  • on_empty_clause:
    [ERROR]|[NULL] ON EMPTY
    • 说明:该子句描述路径表达式未匹配到JSON数据时,该子句返回值行为:
      • ERROR ON EMPTY:返回错误;
      • NULL ON EMPTY:返回空值NULL。

        未指定该子句时,采用ON ERROR子句行为。

示例

SQL> select json_value('{"A":1234}','$.A') from SYS_DUMMY; JSON_VALUE('{"A":1234}','$.A') ---------------------------------------------------------------- 1234 1 rows fetched. SQL> select json_value('[{"A":1234}, {"A":4321}]', '$[1].A') from SYS_DUMMY; JSON_VALUE('[{"A":1234}, {"A":4321}]', '$[1].A') ---------------------------------------------------------------- 4321 1 rows fetched. SQL> select json_value('{"A":{"B":[1,[2,[3,{"C":"Hello!"}]]]}}', '$.A.B[1][1][1].C' returning varchar2(20)) from SYS_DUMMY; JSON_VALUE('{"A":{"B":[1,[2,[3,{"C":"HELLO!"}]]]}}', '$.A.B[1][1 ---------------------------------------------------------------- Hello! 1 rows fetched.
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论