Я думаю, что основная проблема заключается в том, как запрос анализируется в OLEDB Command
и как ядро базы данных SQL Server определило тип данных параметра.
Попробуйте использовать функцию CAST()
, чтобы избежать этого:
SELECT CAST('abc'+ FORMAT(GETDATE(),'yyyyMMdd') + 'zz208874' as VARCHAR(255)) AS a
Или, если вы хотите преобразовать в Unicode:
SELECT CAST('abc'+ FORMAT(GETDATE(),'yyyyMMdd') + 'zz208874' as NVARCHAR(255)) AS a
или, вы можете определить строки как Unicode:
SELECT N'abc'+ FORMAT(GETDATE(),'yyyyMMdd') + N'zz208874' AS a
Для получения дополнительной информации оПроблемы с разбором типов данных параметров, вы можете проверить мой ответ на следующий вопрос: