You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by GitBox <gi...@apache.org> on 2019/07/01 01:55:21 UTC

[GitHub] [calcite] XuQianJin-Stars opened a new pull request #1277: [CALCITE-3139] Implement JSON_EXTRACT function

XuQianJin-Stars opened a new pull request #1277: [CALCITE-3139] Implement JSON_EXTRACT function
URL: https://github.com/apache/calcite/pull/1277
 
 
   `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:
   ```
   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
   ```
   Result:
   
   |c1|c2|c3|c4|
   | --- | --- | --- | --- |
   |{"a": [10, true],"b": "[10, true]"}|11|10|[10,11]|

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services