@kxjxgnr nvarchar(300)
@x int
set @x=CAST(@kxjxgnr as int)
问题是如果@kxjxgnr不是数字,怎么得到错误返回结果呢?
------解决方案--------------------
- SQL code
if patindex('%[^0-9]%',@kxjxgnr) = 0 begin ---只含有数字 end else begin --含有其他字符 end
------解决方案--------------------
- SQL code
set @x= case when ISNUMERIC( @kxjxgnr ) then CAST(@kxjxgnr as int) else 0 end;