У меня в таблице несколько тысяч строк (SQL Server 2016).
В одном из столбцов хранятся документы JSON (NVARCHAR(max)).
Документы JSON довольно сложны с точки зрения вложенности и т. д., а также они могут сильно отличаться друг от друга.
Моя цель - найти в каждом документе определенное совпадение. Скажите: «MagicNo»: «999000».
Итак, если документ имеет свойство «MagicNo» и значение равно 999000, то это совпадение.
Я знаю, что вы можете перемещаться по документу, используя JSON_VALUE $.
, за которым следует путь, но поскольку эти документы могут сильно различаться, свойство «MagicNo» может появляться почти везде в документе (много вложений). Так что xpathing здесь не может быть и речи.
Есть ли какой-то подстановочный знак, который я мог бы использовать с JSON_VALUE
, чтобы сказать, искать весь документ и возвращать его, если совпадение найдено?
Простой
like '%999000%'
а также
CONTAINS
поиск по столбцу VARCHAR здесь невозможен из-за низкой производительности.
Какие-нибудь мысли?
Спасибо.