我在一個名為的表中有 600 行areas包含三個id, name, created_at名稱列的內容,如下所示:
{"ar": "????", "en": "Safeen"}
{"ar": "????", "en": "Shorsh"}
.....
我只想保留 ar 的名稱并洗掉其他任何內容:
{"ar": "????", "en": "Safeen"} => ????
有什么查詢可以做這樣的事情嗎?
我的資料庫是 MYSQL
uj5u.com熱心網友回復:
您可以使用 JSON_ExTRAC
比爾卡明還提到要擺脫您可以使用的文本周圍的引號 JSON_UNQUOTE
正如他所提到的,這些功能僅從 MySQL 5.7 開始可用
CREATE TABLE mytable(tx TEXT)
INSERT INTO mytable VALUES ('{"ar": "????", "en": "Safeen"}'),('{"ar": "????", "en": "Shorsh"}')
UPDATE mytable SET tx = JSON_UNQUOTE(JSON_EXTRACT(tx, '$.ar'))
SELECT * FROM mytable| 發送 | | :------- | | ???? | | ???? |
db<>在這里擺弄
uj5u.com熱心網友回復:
您可以使用
SELECT name.ar FROM areas
如果您已定義name為JSON資料型別
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/358079.html
上一篇:比較兩個表并找出列值的差異
下一篇:從表格中讀取時只考慮少數幾個元素
