我想從 MySQL 表中的表中檢索所有行,其中有一個 JSON 列items,其內容如下:
[{"code":"MH005","qte":1,"totalpriceItem":"28.00"},{"code":"MH027","qte":1,"totalpriceItem":"28.00"}]
[{"code":"MH027","qte":1,"totalpriceItem":"30.00"}]
[{"code":"MH024","qte":1,"totalpriceItem":"28.00"},{"code":"MH028","qte":1,"totalpriceItem":"28.00"},{"code":"MH027","qte":1,"totalpriceItem":"28.00"}]
[{"code":"MH028","qte":1,"totalpriceItem":"30.00"}]
現在我希望能夠選擇鍵code具有值的所有行MH027。
我試過這個,但沒有成功:
SELECT *
FROM `transactions`
WHERE JSON_CONTAINS(`item`, 'MH027', '$[*].code')
任何幫助深表感謝。
uj5u.com熱心網友回復:
如果我理解正確,您需要JSON_CONTAINS按如下方式使用:
SELECT *
FROM transactions
WHERE JSON_CONTAINS(item, '{"code": "MH027"}', '$')
第二個引數必須是有效的 JSON。JSON_OBJECT('code', 'MH028')如果值是動態的或可以包含特殊字符,則可以使用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/338818.html
標籤:mysql sql json mysql-json
