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

sql ISNUMERIC 判断是否是数值类型

语法

ISNUMERIC ( expression )
  参数
expression
要计算的表达式。

  返回类型
int

  备注
当输入表达式的计算结果为有效的 numeric 数据类型时,ISNUMERIC 返回 1;否则返回 0。有效的 numeric 数据类型包括以下类型:

int
 numeric
 
bigint
 money
 
smallint
 smallmoney
 
tinyint
 float
 
decimal
 real
 

返回值 1 指示可以将表达式转换为至少一种 numeric 类型。

注意:
   对于不是数字的字符(如加号 (+)、减号 (-))和有效货币符号(如美元符号 ($))字符,ISNUMERIC 将返回 1。有关货币符号的完整列表,请参阅使用货币数据。
 


  示例
以下示例使用 ISNUMERIC 返回所有非数值的邮政编码。

复制代码
USE AdventureWorks;
GO
SELECT City, PostalCode
FROM Person.Address
WHERE ISNUMERIC(PostalCode)<> 1;
GO


SELECT * FROM 表 WHERE ISNUMERIC(inventPrice) = 1

测试

select   isnumeric( '0000d34 ')         --返回1
select   cast( '0000d34 '   as   float(28,8))       ----返回0.0


select   isnumeric( '0000c34 ')         --返回0

D可能是一个比较特殊的字符,

上述功能可用下面的方法实现,当然感觉很不好。

select     substring(id,11,16)   from   test   where   isnumeric(substring(replace(id, 'd ', 'c '),11,16))=1

 

 

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