在MySQL中查詢JSON字段,可以使用JSON_EXTRACT函數。該函數接受兩個參數:第一個參數是要查詢的JSON字段,第二個參數是要提取的鍵路徑。
例如,假設有一個名為data
的JSON字段,其中包含以下內容:
{
"name": "John",
"age": 30,
"address": {
"city": "New York",
"state": "NY"
}
}
要查詢data
字段中的name
鍵的值,可以使用以下查詢語句:
SELECT JSON_EXTRACT(data, '$.name') AS name FROM table_name;
結果將返回name
鍵的值。
如果要查詢嵌套JSON字段中的鍵的值,可以使用點號表示嵌套層級。例如,要查詢data
字段中address
鍵下的city
鍵的值,可以使用以下查詢語句:
SELECT JSON_EXTRACT(data, '$.address.city') AS city FROM table_name;
結果將返回city
鍵的值。
如果要查詢JSON數組中的值,可以使用索引號。例如,假設data
字段中包含一個名為hobbies
的JSON數組:
{
"name": "John",
"age": 30,
"hobbies": ["swimming", "reading", "traveling"]
}
要查詢hobbies
數組中的第一個值,可以使用以下查詢語句:
SELECT JSON_EXTRACT(data, '$.hobbies[0]') AS first_hobby FROM table_name;
結果將返回hobbies
數組中的第一個值。
注意,以上查詢語句中的table_name
應替換為實際的表名。