У меня есть эта JSON структура в поле таблицы в базе данных MariaDB:
table column name: BcDJSON
{"placards":
[
{"barcode":"???","destination":"???","weight":"???"},
{"barcode":"???","destination":"???","weight":"???"},
{etc..}
]
}
мой sql текущий запрос выглядит так:
"SELECT * from table WHERE BcDJSON LIKE '%.$value.%'";
, но это не приводит к стабильному коду. Я попытался использовать JSON_EXTRACT, но просматривая объект в массиве объектов в MariaDB: я попробовал несколько вариантов - и чтение документов не ответило на мой вопрос. JSON_EXTRACT даже то, что я действительно хочу использовать здесь? Мне нужно вернуть всю строку - там, где в этой структуре JSON есть штрих-код.
синтаксис вещи, которые я пробовал: (??? = действительные значения)
SELECT * from datawork WHERE JSON_EXTRACT('BcDJSON', '$.barcode') = '???'
SELECT * from datawork WHERE JSON_EXTRACT('BcDJSON', '$.placards, $.barcode') = '???'
SELECT * from datawork WHERE JSON_EXTRACT('BcDJSON', '$.placards.$.barcode') = '???'
SELECT * from datawork WHERE JSON_EXTRACT('BcDJSON', '$.placards->$.barcode') = '???'
SELECT * from datawork WHERE JSON_EXTRACT('BcDJSON', '$.placards$.barcode') = '???'
SELECT * from datawork WHERE JSON_EXTRACT('BcDJSON', '$.placards') = '???'
SELECT * from datawork WHERE JSON_EXTRACT('BcDJSON', '$.placards', '$.barcode') = '???'
SELECT * from datawork WHERE JSON_EXTRACT('BcDJSON', '$.placards.barcode') = '???'