求sql类型转换有关问题

求sql类型转换问题@kxjxgnr nvarchar(300)@x intset @xCAST(@kxjxgnr as int)问题是如果@kxjxgnr不是数字

求sql类型转换问题

@kxjxgnr nvarchar(300)
@x int

set @x=CAST(@kxjxgnr as int)

问题是如果@kxjxgnr不是数字,怎么得到错误返回结果呢?

[解决办法]

SQL code
 if patindex('%[^0-9]%',@kxjxgnr) = 0begin---只含有数字endelsebegin--含有其他字符end
[解决办法]
SQL code
set @x= case when ISNUMERIC( @kxjxgnr ) then CAST(@kxjxgnr as int) else 0 end;