У меня есть таблица: Сотрудник.Схема: (имя varchar, настройки nvarchar (max)).где предпочтения - это строка в формате json.
Мой запрос (который не выполняется):
select JSON_QUERY(preferences, '$.personal')
from Employee
where ISJSON(preferences) = 1
and len(JSON_QUERY(preferences, '$.personal')) > 2
Однако этот запрос работает:
select JSON_QUERY(preferences, '$.personal')
from Employee
where ISJSON(preferences) = 1
Кроме того, если я:
create table tmp(name varchar(256), personal nvarchar(max))
insert into tmp
select name, JSON_QUERY(preferences, '$.personal') as personal
from Employee
where ISJSON(preferences) = 1
select personal
from tmp
where len(personal) > 2
Все отлично работает.
Это ошибка SQL Server с JSON_QUERY () или я что-то не так делаю?
(EDIT) Сообщение об ошибке:
JSON text is not properly formatted. Unexpected character 'n' is found at position 3.
(РЕДАКТИРОВАТЬ) Также не удается:
select JSON_QUERY(preferences, '$.personal')
from Employee
where ISJSON(preferences) = 1
and JSON_QUERY(preferences, '$.personal') is not null