Скажем, у меня есть столбец в моей базе данных с именем attributes
, который имеет это значение в качестве примера:
{"pages":["Page1"]}
Как я могу сделать предложение where, чтобы я мог фильтровать строки, в которых есть «Page1».
select JSON_QUERY(Attributes, '$.pages')
from Table
where JSON_QUERY(Attributes, '$.pages') in ('Page1')
Изменить:
Из docs кажется, что это может работать, хотя это кажется таким сложным для того, что он делает.
select count(*)
from T c
cross apply Openjson(c.Attributes)
with (pages nvarchar(max) '$.pages' as json)
outer apply openjson(pages)
with ([page] nvarchar(100) '$')
where [page] = 'Page1'