@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;