Greenplum實(shí)現(xiàn)了一系列json函數(shù),以支持JSON數(shù)據(jù)類型的處理和查詢。
以下是一些常用的json函數(shù)及其用法:
json_object_keys(json)
返回JSON對象中所有鍵的列表。
SELECT json_object_keys('{"name": "Bob", "age": 25}'::json);
json_object_keys
------------------
name
age
(2 rows)
json_array_elements(json)
返回JSON數(shù)組中所有元素的列表。
SELECT json_array_elements('[1, 2, {"name": "Alice"}]'::json);
json_array_elements
---------------------
1
2
{"name": "Alice"}
(3 rows)
json_extract_path(json, VARIADIC text[])
返回JSON對象或數(shù)組中特定路徑的值。
SELECT json_extract_path('{"a": {"b": [{"c": 1}, {"c": 2}]}}'::json, 'a', 'b', 1, 'c');
json_extract_path
-------------------
2
(1 row)
除此之外,還有許多其他的json函數(shù),可供開發(fā)人員和數(shù)據(jù)分析師使用。