在存储过程中怎样判断一个变量不是数值型?
我在存储过程中用到一个变量
declare @var as varchar(10)
变量有可能存储的是字符串
set @var= 'aaaa '
也有可能存储的是整型的
set @var= '3333 '
我要判断这个变量中存的是否为整数还是字符串
如果是整数要
set @var=@var/1000
如果不是整数则退出过程
问题是怎么判断变量中存储的是整数而不是字符串?
谢谢大家
------解决方案--------------------isnumeric(变量)=1
------解决方案-------------------- declare @var as varchar(10)
set @var= 'aaaa '
Select IsNumeric(@var)
set @var= '3333 '
Select IsNumeric(@var)
------解决方案--------------------declare @var as varchar(10)
set @var= 'aaaa '
Select IsNumeric(@var)
set @var= '33d33 '
Select IsNumeric(@var)
select patindex( '%[^0-9]% ',@var)
if patindex( '%[^0-9]% ',@var)> 0
print '含有字符 '
else
print '数字 '
------解决方案-------------------- declare @var as varchar(10)
set @var= 'aaaa '
--set @var= '3333 '
if isnumeric(@var)=1 --加个判断!
set @var=cast(@var as float)/1000.0
SELECT @VAR