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

ASF GitHub Bot updated CALCITE-3139:
------------------------------------
    Labels: pull-request-available  (was: )

> Implement JSON_EXTRACT function
> -------------------------------
>
>                 Key: CALCITE-3139
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3139
>             Project: Calcite
>          Issue Type: Sub-task
>            Reporter: Forward Xu
>            Assignee: Forward Xu
>            Priority: Major
>              Labels: pull-request-available
>
> {{JSON_EXTRACT(_json_doc_}}, _{{path}}_[, path] ...)
> Returns data from a JSON document, selected from the parts of the document 
> matched by the _{{path}}_ arguments. Returns {{NULL}} if any argument is 
> {{NULL}} or no paths locate a value in the document. An error occurs if the 
> _{{json_doc}}_ argument is not a valid JSON document or any _{{path}}_ 
> argument is not a valid path expression.
> The return value consists of all values matched by the _{{path}}_ arguments. 
> If it is possible that those arguments could return multiple values, the 
> matched values are autowrapped as an array, in the order corresponding to the 
> paths that produced them. Otherwise, the return value is the single matched 
> value.
> Example Sql:
> {code:java}
> SELECT JSON_EXTRACT(v, '$') AS c1
> ,JSON_EXTRACT(v, '$.b') AS c2
> ,JSON_EXTRACT(v, '$.a[0]') AS c3
> ,JSON_EXTRACT(v, '$.a[0]','$.b[0]') AS c4
> FROM (VALUES ('{"a": [10, true],"b": [11]}')) AS t(v)
> limit 10{code}
> Result:
> ||c1||c2||c3||c4||
> |{"a": [10, true],"b": "[10, true]"}|[11|10|[10,11]|



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

Reply via email to