ISNUMERIC函数的作用是确定表达式是否为一个有效的数字类型。
语法:
ISNUMERIC ( expression )
–如果输入表达式的计算值为有效的整数、浮点数、money 或 decimal 类型时,ISNUMERIC 返回 1;否则返回 0。返回值为 1 时,指示可将 expression 至少转换为上述数值类型中的一种。
select
isnumeric(‘1e-2’),
isnumeric(‘1e+2’),
isnumeric(‘1e2’),
isnumeric(‘1.1’),
isnumeric(‘-1.1’),
isnumeric(‘+1.1’),
isnumeric(‘$12’),
isnumeric(‘¥12’)
输出结果:
–在单纯判断字段是否只含有数字的情况下用这个函数,可能会有以上情况干扰
–如果只想查询出是否含有非数字的数据,则使用下边的patindex+正则表达式。
select * from [Table] where patindex(‘%[^0-9]%’,a)=0
–或者 not like ‘%[^0-9]% ‘