mssql 判断 列值是否为 int (数字)类型 ISNUMERIC 函数, PATINDEX 函数
mssql 判断 列值是否为 int (数字)类型 ISNUMERIC 函数, PATINDEX 函数mssql 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')
例如:
select id, number, quantity fromtb_product where isnumeric(quantity)>0
PATINDEX 函数
在单纯判断字段是否只含有数字的情况下用这个函数,可能会有以上情况干扰
必要的情况下,应该使用
select * from [Table] where patindex('%[^0-9]%',a)=0
或者 not like '%[^0-9]% '
请问sqlserver判断字符串是否为数字用什么函数?-MS-SQLServer/疑难问题
如果要实现判断字符串是否为数字,sqlserver中有没有函数,如果没有的话怎么写这个函数效率更好些?
Sql Server MSSql 判断是否是数字 字符串或字段都可以判断
ISNUMERIC
确定表达式是否为一个有效的数字类型。
语法
ISNUMERIC ( expression )
参数
expression
要计算的表达式。
返回类型
int
注释
当输入表达式得数为一个有效的整数、浮点数、money 或 decimal 类型,那么 ISNUMERIC 返回 1;否则返回 0。返回值为 1 确保可以将 expression 转换为上述数字类型中的一种。
例如:
select ISNUMERIC('123123123123123')
该查询将返回 数字(int) 1