您好,歡迎來到一站式眾包服務(wù)平臺-威客牛網(wǎng)!
當(dāng)前位置:威客牛首頁 > 知識百科 > 其它 > mysql json_extract

mysql json_extract

2025-06-18作者:網(wǎng)友投稿

`json_extract()` 是 MySQL 中用于從 JSON 列中提取值的函數(shù)。該函數(shù)允許您查詢存儲在 JSON 數(shù)據(jù)列中的特定值。這在處理包含 JSON 格式數(shù)據(jù)的數(shù)據(jù)庫時非常有用,尤其是在處理動態(tài)內(nèi)容和應(yīng)用程序數(shù)據(jù)交互時。

函數(shù)的基本語法是:

```sql

json_extract(json_doc, path[, path] ...)

```

其中:

`json_doc` 是包含 JSON 數(shù)據(jù)的列或變量。

`path` 是要提取的數(shù)據(jù)的路徑。它可以是字符串形式,指定一個或多個鍵值對的路徑,通過 `->` 操作符連接。如果 JSON 數(shù)據(jù)有多個層次結(jié)構(gòu),可以多次使用 `->` 操作符來遍歷每個層級。

示例:

假設(shè)您有一個包含 JSON 數(shù)據(jù)的表 `users`,并且有一個名為 `data` 的列,該列存儲用戶信息作為 JSON 對象。例如:

```json

{

"name": "John Doe",

"age": 30,

"address": {

"city": "New York",

"street": "Main St"

}

}

```

如果您想從該 JSON 數(shù)據(jù)中提取 `city` 的值,可以使用以下查詢:

```sql

SELECT json_extract(data, '$.address.city') AS city FROM users WHERE ...;

```

這將返回地址中的城市值("New York")。您可以根據(jù)需要更改路徑來提取不同的值。如果路徑不存在或 JSON 數(shù)據(jù)格式不正確,函數(shù)將返回 NULL。這對于過濾和查詢 JSON 數(shù)據(jù)特別有用,特別是當(dāng)您需要基于存儲在 JSON 列中的特定值來檢索數(shù)據(jù)時。

免費(fèi)查詢商標(biāo)注冊