forked from hanaboy/SQL
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJSON_Query
37 lines (35 loc) · 840 Bytes
/
JSON_Query
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
JSON_QUERY (
<JSON_API_common_syntax>
[ <JSON_output_clause> ]
[ <JSON_query_wrapper_behavior> ]
[ <JSON_query_empty_behavior> ]
[ <JSON_query_error_behavior> ]
)
*/
WITH RS AS (
SELECT
'{
"Items": [
{"ItemNumber": 1, "Part": {"Description": "Run Lola Run", "UPCCode": 43396040144}},
{"ItemNumber": 2, "Part": {"Description": "Felicias Journey", "UPCCode": 12236101345}},
{"ItemNumber": 3, "Part": {"Description": "Lost and Found", "UPCCode": 85391756323}}
]
}' AS JT
FROM DUMMY
)
SELECT JSON_QUERY(
JT, '$'
--JT, '$.Items'
--JT, '$.Items[0]'
--JT, '$.Items[0,2]'
--JT, '$.Items[0 to 2]'
--JT, '$.Items.Part'
--JT, '$.Items.Part.Description'
--JT, '$.Items.SomethingElse'
--JT, '6'
--RETURNING NVARCHAR(200)
--WITH ARRAY WRAPPER
EMPTY OBJECT ON EMPTY
EMPTY ARRAY ON ERROR
) AS STUFF FROM RS