本文介紹了如何在MySQL/MariaDB中對JSON列執行SELECT的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
如何對JSON列應用WHERE子句,以對具有兩列(id Integer、attr JSON)的表執行SELECT查詢。JSON是嵌套的,在篩選條件中只允許有一個JSON的鍵值對。此密鑰值對可以位于Josn中的任何位置。
+----+-----------------------------------------------------------------
| id | attr
|
+----+-----------------------------------------------------------------
| 1 | {"id":"0001","type":"donut","name":"Cake","ppu":0.55}
|
| 2 | {"id":"0002","type":"donut","name":"Cake","ppu":0.55,"batters":
{"batter1":100,"batter2":200}}
+----+-----------------------------------------------------------------
推薦答案
在MariaDB10.2中,您可以使用JSON functions。
例如,如果要從數據庫中選擇所有甜甜圈,則需要:
SELECT * FROM t WHERE JSON_CONTAINS(attr, '"donut"', '$.type');
注意:在MariaDB中,JSON函數處理所有文本數據類型(VARCHAR、TEXT等)。JSON
類型只是LONGTEXT
的別名。
這篇關于如何在MySQL/MariaDB中對JSON列執行SELECT的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,