數據庫表Json文件內容提取

1. 關于JSON_EXTRACT函數的使用,先貼一段代碼解釋:

SELECT DISTINCT json_extract(`Jdoc`, '$."Customer City Name"')
FROM `gc_master_data_0`
WHERE `Fiscal Year` = 2016
LIMIT 10

注釋:Jdoc是字段名,"Customer City Name"是Jdoc字段中json文件中的key。Query結果如下:


2. 可以對提取的字段重新命名,代碼為:

SELECT DISTINCT json_extract(`Jdoc`, '$."Customer City Name"') AS `Customer City Name`
FROM `gc_master_data_0`
WHERE `Fiscal Year` = 2016
LIMIT 10

3. 當然這里有一個符號(->)可以用來替換函數功能,代碼為:

SELECT DISTINCT `Jdoc`->'$."Customer City Name"' AS `Customer City Name`
FROM `gc_master_data_0`
WHERE `Fiscal Year` = 2016
LIMIT 10


實際上,`Jdoc`->'$."Customer City Name"'就是相當于表的一個字段,只不過這個字段是從Jdoc字段的json文件中提取。

4. 如果想獲取value的大小,可以使用符號(->>),貼代碼:

SELECT DISTINCT `Jdoc`->>'$."Customer City Name"' AS `Customer City Name`
FROM `gc_master_data_0`
WHERE `Fiscal Year` = 2016
LIMIT 10
Reference:

https://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容