Ошибка преобразования даты в команде UPDATE - PullRequest
1 голос
/ 02 августа 2011

У меня есть хранимая процедура, которая выдает ошибку по команде UPDATE. Вот соответствующие строки кода.

DECLARE @submitDate1 DATETIME;
SET @submitDate1 = GETDATE()

   SET @sql = 'UPDATE ' + @currTable + ' SET [lang_String] = ''' + @lang_String + ''', [date_Changed] = ''' +  @submitDate1 + ''', [prev_LangString] = ''' + @prev_LangString + ''', [needsTranslation] = ''' + @needsTranslation + ''' WHERE [ID] = ' + CAST(@ID as nvarchar(10)) + '; '
   EXEC(@sql)

Вот ошибка ... Преобразование не удалось при преобразовании даты и / или временииз строки символов.

Ответы [ 2 ]

4 голосов
/ 02 августа 2011

Вы должны преобразовать дату в строку перед объединением ее с другими строками:

... = ''' +  convert(varchar(20), @submitDate1) + ''', [...
1 голос
/ 02 августа 2011

используйте

convert(varchar,@submitDate1)

в том месте, где вы использовали @submitDate1 переменную.

SQL не выполняет неявное преобразование даты в строку!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...