T-SQL - 如何处理 SELECT If Error Logic

BI *_*ude 0 t-sql sql-server

我在下面有一个简单的选择语句:

SELECT Code =   Cast([Code] as int)
FROM dbo.table 
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

转换 nvarchar 值“?”时转换失败 到数据类型int。

我想编写 IFERROR 或 CASE 语句,用 -9999 之类的数字替换错误

M. *_*age 5

SELECT 
    Code = CASE 
               WHEN ISNUMERIC(Code) = 1 THEN Cast([Code] as int) 
               ELSE -9999 
    END
FROM 
    dbo.table
Run Code Online (Sandbox Code Playgroud)