calcite
calcite copied to clipboard
[CALCITE-3139] Implement JSON_EXTRACT function
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] |
hi @chunweilei Thank you very much, Comments addressed.