You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "xuqianjin (JIRA)" <ji...@apache.org> on 2019/01/26 11:00:00 UTC

[jira] [Closed] (FLINK-11434) Add the JSON_LENGTH function

     [ https://issues.apache.org/jira/browse/FLINK-11434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

xuqianjin closed FLINK-11434.
-----------------------------
    Resolution: Fixed

> Add the JSON_LENGTH function
> ----------------------------
>
>                 Key: FLINK-11434
>                 URL: https://issues.apache.org/jira/browse/FLINK-11434
>             Project: Flink
>          Issue Type: Improvement
>            Reporter: xuqianjin
>            Assignee: xuqianjin
>            Priority: Major
>
> {{JSON_LENGTH(*json_doc*[, *path*\])}}
> Returns the length of a JSON document, or, if a _path_ argument is given, the length of the value within the document identified by the path. Returns {{NULL}} if any argument is {{NULL}} or the _path_ argument does not identify a value in the document. An error occurs if the _json_doc_ argument is not a valid JSON document or the _path_ argument is not a valid path expression or contains a {{*}} or {{**}} wildcard.
> The length of a document is determined as follows:
>  * The length of a scalar is 1.
>  * The length of an array is the number of array elements.
>  * The length of an object is the number of object members.
>  * The length does not count the length of nested arrays or objects.
> SELECT JSON_LENGTH('[1, 2, \{"a": 3}]');
> +---------------------------------+
> | JSON_LENGTH('[1, 2, \{"a": 3}]') |
> +---------------------------------+
> |                               3 |
> +---------------------------------+
> SELECT JSON_LENGTH('\{"a": 1, "b": {"c": 30}}');
> +-----------------------------------------+
> | JSON_LENGTH('\{"a": 1, "b": {"c": 30}}') |
> +-----------------------------------------+
> |                                       2 |
> +-----------------------------------------+
> SELECT JSON_LENGTH('\{"a": 1, "b": {"c": 30}}', '$.b');
> +------------------------------------------------+
> | JSON_LENGTH('\{"a": 1, "b": {"c": 30}}', '$.b') |
> +------------------------------------------------+
> |                                              1 |
> +------------------------------------------------+



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)