2014-11-05 1 views
0

선택하면 오류 로직을 처리하는 방법 :T-SQL - 나는 아래의 간단한 선택 문이

Conversion failed when converting the nvarchar value '?' to data type int.

내가 IFERROR 또는 CASE 문을 작성하려는 :

SELECT Code = Cast([Code] as int) 
FROM dbo.table 

오류가 발생합니다 그 번호와 오류를 대체 할 것 같은 -9999

+2

SQL Server는 내가했다 올바른 : '?' 정수가 아닙니다. –

+0

나는 그것이 정확했다라는 것을 알고있다. 나는 그것을 다루는 방법을 확신하지 못했습니다. 솔루션이 정상적으로 작동합니다. 건배 –

답변

3
SELECT 
    Code = CASE 
       WHEN ISNUMERIC(Code) = 1 THEN Cast([Code] as int) 
       ELSE -9999 
    END 
FROM 
    dbo.table 
+1

흠, 우편 번호? :) –

0
SELECT Code = Cast((case when [Code] = '?' then -9999 else [Code] end) as int) 
FROM dbo.table