복붙노트

[SQL] int 데이터 형식 할 ... NVARCHAR 값을 변환 할 때 변환 실패

SQL

int 데이터 형식 할 ... NVARCHAR 값을 변환 할 때 변환 실패

나는 절차가 아래 생성 :

CREATE procedure getdata
(
    @ID int,
    @frm varchar(250),
    @to varchar(250)
)
AS
BEGIN

DECLARE @SQL nvarchar(500)


set @SQL = 'select'
set @SQL = @SQL + ' EmpName, Address, Salary from Emp_Tb where 1=1 '

IF (@ID <> '' and @ID is not null)     
  Begin     
   SET @sql=@sql+' AND Emp_Id_Pk=' +@ID   
  End 
END

print @sql
--execute (@sql)

내가 사용하여 실행하려고 :

**execute getdata 3,'','';**

그러나 나는 다음과 같은 오류를 받고 있어요 :

도와주세요.

해결법

  1. ==============================

    1.당신은 문자열과 정수를 연결하는 시도하고있다. 당신은 문자열로 캐스트 @ID해야합니다. 시험:

    당신은 문자열과 정수를 연결하는 시도하고있다. 당신은 문자열로 캐스트 @ID해야합니다. 시험:

    SET @sql=@sql+' AND Emp_Id_Pk=' + CAST(@ID AS NVARCHAR(10))
    
  2. ==============================

    2.사용 시도

    사용 시도

    CONVERT(nvarchar(10),@ID)
    

    이 캐스트와 유사하지만 (소비 된 시간의 측면에서) 더 저렴

  3. ==============================

    3.] [내 열 중 하나의 핵심 단어를 사용하고 있었고, 난 괄호로 해결

    ] [내 열 중 하나의 핵심 단어를 사용하고 있었고, 난 괄호로 해결

  4. ==============================

    4.나는이 같은 문제에 직면, 내가 문제의 열에 대한 제약 조건을 삭제하고 나를 위해 일했다. 당신은 폴더 제약 조건을 확인할 수 있습니다.

    나는이 같은 문제에 직면, 내가 문제의 열에 대한 제약 조건을 삭제하고 나를 위해 일했다. 당신은 폴더 제약 조건을 확인할 수 있습니다.

    캡처 : http://i.stack.imgur.com/9Wccz.png

  5. ==============================

    5.당신이 String에서 int로 변환 열 데이터 형식을 시도하기 때문에이 오류가 발생했습니다

    당신이 String에서 int로 변환 열 데이터 형식을 시도하기 때문에이 오류가 발생했습니다

    합법적 인 경우에만,

    그래서 그냥 확인 이전에 삽입 된 행을하면 새로운 변화와 호환

  6. from https://stackoverflow.com/questions/21655110/conversion-failed-when-converting-the-nvarchar-value-to-data-type-int by cc-by-sa and MIT license