Sql server 2008R2-подавление параметра даты
Я пытаюсь сделать это в sql-запросе:
exec [dbo].[sp_MyStoredProc] '1513837107', '2017-04-31', 6000, 1.0
Хранимый процесс, о котором идет речь, имеет следующий прототип:
ALTER PROCEDURE [dbo].[sp_MyStoredProc] ( @identifier nvarchar(50), @desiredEndDate date, @newTarget int, @newDiscount float )
Когда я пытаюсь использовать строку "exec", показанную выше, я получаю следующую ошибку:
Error converting data type varchar to date.
У меня никогда раньше не было такой проблемы. Почему я не могу этого сделать? Моя строка даты находится в одном из распознанных по умолчанию форматов ISO. Я в растерянности.
Вы не можете использовать вызов функции, когда вы
exec
'ing сохраненный proc в запросе.Что я уже пробовал:
Я попробовал изменить
@desiredEndDate
параметр к a datetime
и даже попробовал указать полный datetime
строка. Кажется, ничего не работает.Я также попробовал сделать
datetime
параметр а varchar
и преобразование в магазине proc, но это не удалось с той же ошибкой.
CPallini
Вы использовали SET DATEFORMAT?
видеть:
https://docs.microsoft.com/en-us/sql/t-sql/statements/set-dateformat-transact-sql
#realJSOP
Это был глупый программистский трюк с моей стороны. В апреле всего 30 дней.
CPallini
В этом вы не одиноки. Я действительно проверил дату (искал неправильный формат).