MySQL是一款非常流行的關系型數據庫,但是在處理一些有結構化數據存在的場景下,使用JSON數據格式會更加方便。但是有時候我們需要將JSON數組轉化為字段,這時候就需要用到MySQL的內置函數JSON_EXTRACT。
JSON_EXTRACT函數的語法如下:
JSON_EXTRACT(json_doc, path[, path] ...)
其中,json_doc參數表示要提取的JSON數據,path表示想要提取的字段路徑,可以使用.或[]來表示嵌套關系。
舉個例子,如果我們有一列名為data的JSON數據,其中包含以下內容:
[
{
"name": "John",
"age": 30,
"hobby": "reading"
},
{
"name": "Mary",
"age": 25,
"hobby": "dancing"
}
]
我們可以使用以下語句將其中的name字段和hobby字段轉化為兩個新的字段:
SELECT
JSON_EXTRACT(data, '$[0].name') AS name_1,
JSON_EXTRACT(data, '$[1].name') AS name_2,
JSON_EXTRACT(data, '$[0].hobby') AS hobby_1,
JSON_EXTRACT(data, '$[1].hobby') AS hobby_2
FROM table_name;
這樣我們就可以將JSON數組中的每個元素中的name和hobby字段轉化為新的字段,以便在其他場景下更方便地進行數據分析。
上一篇python 強轉int
下一篇c 實體類轉json