首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎样在sql里面判断一个字符串是否可以转换为数字,该如何处理

2012-01-16 
怎样在sql里面判断一个字符串是否可以转换为数字^_^谢谢大家[解决办法]ISNUMERIC()[解决办法]ISNUMERIC当

怎样在sql里面判断一个字符串是否可以转换为数字
^_^

谢谢大家

[解决办法]
ISNUMERIC()
[解决办法]
ISNUMERIC
当输入表达式得数为一个有效的整数、浮点数、money 或 decimal 类型,那么 ISNUMERIC 返回 1;否则返回 0。返回值为 1 确保可以将 expression 转换为上述数字类型中的一种。
[解决办法]
ISNUMERIC
确定表达式是否为一个有效的数字类型。

语法
ISNUMERIC ( expression )

参数
expression

要计算的表达式。

返回类型
int

注释
当输入表达式得数为一个有效的整数、浮点数、money 或 decimal 类型,那么 ISNUMERIC 返回 1;否则返回 0。返回值为 1 确保可以将 expression 转换为上述数字类型中的一种。


select ISNUMERIC(12245.2)
select ISNUMERIC( '啊啊 ')

-----
1
0

[解决办法]
declare @t table(name varchar(100))
insert @t(name)
select '123 '
union all
select '123.45 '


select * from @t where name not like '%[^1-9]% '
[解决办法]
可以使用 ISNUMERIC() 函数,但是需要过滤一些特殊的字符,比如 '$ '和 '. ':

select ISNUMERIC( '$ ')
union all
select ISNUMERIC( '. ')

[解决办法]
declare @t table(name varchar(100))
insert @t(name)
select '123 '
union all
select '123.45 '


select * from @t where isnumeric(name)=1

[解决办法]
ISNUMERIC
确定表达式是否为一个有效的数字类型。

语法
ISNUMERIC ( expression )

参数
expression

要计算的表达式。

返回类型
int

注释
当输入表达式得数为一个有效的整数、浮点数、money 或 decimal 类型,那么 ISNUMERIC 返回 1;否则返回 0。返回值为 1 确保可以将 expression 转换为上述数字类型中的一种。


[解决办法]
declare @a int
declare @b varchar(10)
declare @c varchar(10)

set @a=1234
set @b= '1234 '
set @c= '1234aa '
select ISNUMERIC(@a)
select ISNUMERIC(@b)
select ISNUMERIC(@c)
-----
1
1
0

热点排行
Bad Request.