当前位置:数据库 > SQLServer >>

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
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,