我在一個 mySQL 資料庫上作業,其中有一列由簡單資料和 JSON 陣列組成。我應該如何實作 SELECT 來檢索值?檢查螢屏截圖

uj5u.com熱心網友回復:
雖然您沒有提供足夠的資訊,但我想您至少有一個相應的表,并且您可以獲得要拉的電話的行 ID。考慮到這一點
--also assuming that the table is called phones
SELECT * FROM PHONES;
SET @result := (SELECT phone FROM PHONES WHERE Id = 2);
SELECT IF(JSON_VALID(@result) = 1, json_extract(@result,'$[0]'), @result) AS Result;
它的作用是檢查條目是否是有效的 json,如果是,則提取第一個電話號碼。如果不是,則回傳原始結果。
如果您想回傳所有電話號碼,則需要一個額外的查詢來查找該 json 陣列的長度
json_array_length('[1,2]') → 2
然后CONCAT使用逗號或其他東西連接電話號碼的功能
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/490943.html
