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