Ошибка преобразования в тип varchar значение 'НС' в тип данных int.
Я пишу код PL/SQL для обновления конкретной таблицы на основе условия.
Я хочу заменить его
"NA" +@cntзначение для NA1, NA2, NA3 и так далее.
поэтому я написал следующий код. в SQL Server 2012.
[Integration] DECLARE @cnt INT = 1; DECLARE @S#No INT = 0; DECLARE @Val varchar(255); set @S#No=(select max(S#No) from [dbo].[AD_Data_Ruf]) print @S#No WHILE @cnt < @S#No BEGIN DECLARE @EmailAddress nvarchar(250) set @EmailAddress=(select [Email Address] from [dbo].[AD_Data_Ruf] where S#No = @cnt) --PRINT 'Inside simulated FOR LOOP on TechOnTheNet.com'; if(@EmailAddress='"NA" +@cnt') set @Val = 'NA' +@cnt; update [dbo].[AD_Data_Ruf] set [Email Address] =@Val PRINT @EmailAddress SET @cnt = @cnt + 1; END; --PRINT 'Done simulated FOR LOOP on TechOnTheNet.com'; GO
но это показывает ошибку при
set @Val = 'NA' +@cnt;
Что я уже пробовал:
Установите значения переменной в статическую строку + значение переменной.
следующим образом.
set @Val = 'NA' +@cnt;
где NA - статическое значение, где as
@cntявляется переменным.
но он показывает ошибку как
Msg 245, Level 16, State 1, Line 16 Conversion failed when converting the varchar value 'NA' to data type int.
тип данных
@Valпеременная-varchar(250).
пожалуйста, предложите, где я должен внести изменения в код
Richard MacCutchan
Вам нужно преобразовать целочисленное значение в строку, чтобы объединить эти два значения.