Я разрабатываю хранимую процедуру SQL Server 2016 с пакетом обновления 2 (SP2), которая генерирует строку JSON.
Когда я ее запускаю, этот фрагмент кода:
set @batch = (
select 1 as [BatchId], Value as [Name], (CAST(SYSDATETIMEOFFSET() as varchar(34))) as [Created]
from VariableData
where VariableData.ProductionOrderId = @productionOrderId and VariableData.VariableDataId = 10
for json path, WITHOUT_ARRAY_WRAPPER
);
С этими данными: 
Создает следующую ошибку:
Ошибка при преобразовании значения varchar 'A001' в тип данных int
Но я не понимаю, почему я получаю это сообщение, потому что я не использую столбец VariableDataId
в приведенном выше коде sql.
Если в столбце VariableDataId
(типа *) нет символа char1021 *), я не получаю никакой ошибки.
Почему я получаю это сообщение об ошибке?