在Oracle 12c中,引入了JSON數(shù)據(jù)類型以及一系列JSON函數(shù)來支持JSON數(shù)據(jù)的處理。其中,JSON函數(shù)提供了許多常用的JSON操作方法。
JSON_VALUE(expr, path [,RETURNING TYPE] [ON ERROR ])
該函數(shù)可以從JSON文檔中提取一個標(biāo)量值。參數(shù)expr是JSON文檔,path是JSON內(nèi)嵌路徑,RETURNING TYPE指定返回類型(默認(rèn)為VARCHAR2),ON ERROR是當(dāng)提取結(jié)果為空時的操作方式。
JSON_QUERY(expr, path [,WRAPPING]) JSON_OBJECT([key1 expr1] [,key2 expr2] [, ...]) JSON_ARRAY([expr1] [,expr2] [, ...]) JSON_EXISTS(expr, path)
JSON_QUERY函數(shù)和JSON_VALUE函數(shù)類似,但返回一個JSON對象或數(shù)組。JSON_OBJECT函數(shù)用于創(chuàng)建一個json對象,JSON_ARRAY函數(shù)用于創(chuàng)建json數(shù)組,JSON_EXISTS函數(shù)用于判斷path是否存在于expr中。
JSON_TABLE(json_data, '$.column_name' COLUMNS ( column_name VARCHAR2(4000) PATH '$.column_name', ... ))
該函數(shù)可以將JSON數(shù)據(jù)轉(zhuǎn)換成一張表。參數(shù)json_data是JSON文檔,'$.column_name'指的是要抽取的json值所在的路徑,后面跟著要抽取的列名以及數(shù)據(jù)類型。
JSON_MERGEPATCH(target_doc, patch_doc)
該函數(shù)可以將一個JSON文檔合并到另一個JSON文檔上,類似于SQL語句中的MERGE命令。
使用這些JSON函數(shù)可以方便地處理JSON類型的數(shù)據(jù),提高了工作效率。
上一篇126ip庫支持json
下一篇用css做單選框動畫