Oracle數(shù)據(jù)庫(kù)11g開(kāi)始支持JSON格式,它的引入提高了數(shù)據(jù)庫(kù)對(duì)JSON格式數(shù)據(jù)的處理能力,讓開(kāi)發(fā)人員更方便地處理非結(jié)構(gòu)化數(shù)據(jù)。
在Oracle 11g中,可以使用JSON_OBJECT、JSON_ARRAY、JSON_OBJECTAGG等函數(shù)來(lái)生成JSON數(shù)據(jù)格式,例如:
SELECT JSON_OBJECT('name' VALUE 'John', 'age' VALUE 25) AS json_data FROM DUAL;
這條SQL查詢(xún)會(huì)返回以下的JSON結(jié)果:
{ "name":"John", "age":25 }
此外,11g還支持使用JSON_TABLE函數(shù)將JSON數(shù)據(jù)轉(zhuǎn)換成表格數(shù)據(jù),例如:
SELECT * FROM JSON_TABLE('{"name":"John","age":25}', '$' COLUMNS(name VARCHAR(50) PATH '$.name', age NUMBER PATH '$.age'));
這條SQL查詢(xún)可以將從JSON數(shù)據(jù)解析出來(lái)的數(shù)據(jù)轉(zhuǎn)換成表格形式,輸出如下:
NAME AGE ---- --- John 25
總的來(lái)說(shuō),Oracle數(shù)據(jù)庫(kù)11g支持JSON的引入進(jìn)一步提升了Oracle數(shù)據(jù)庫(kù)的開(kāi)發(fā)和數(shù)據(jù)處理能力,為開(kāi)發(fā)人員提供了更多的選擇。