在SQL SERVER里面,如何判断一个字符串是数字?

siu5 2009-10-20 11:46:41
公司的项目里面,数据库有一个varchar字段,有时放的是数字,有时放的是字符。现在必须在取出来之后立即判断是否“数字”,然后再进行下一步的操作,请问应该怎样做呢?
...全文
1471 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
pow_xiao 2009-10-20
  • 打赏
  • 举报
回复
使用
isnuberic
SQL77 2009-10-20
  • 打赏
  • 举报
回复
ISNUMERIC
华夏小卒 2009-10-20
  • 打赏
  • 举报
回复
楼上都正解
快乐_石头 2009-10-20
  • 打赏
  • 举报
回复
isnumeric
dawugui 2009-10-20
  • 打赏
  • 举报
回复
示例
A. 使用 ISNUMERIC
下面的示例返回 1,这是因为 zip 列包含有效的数值。

USE pubs
SELECT ISNUMERIC(zip)
FROM authors
GO

B. 使用 ISNUMERIC 和 SUBSTRING
下面的示例对于 titles 表中的所有书名都返回 0,这是因为没有一个书名是有效的数值。

USE pubs
GO
-- Because the title column is all character data, expect a result of 0
-- for the ISNUMERIC function.
SELECT SUBSTRING(title, 1, 15) type, price, ISNUMERIC(title)
FROM titles
GO

下面是结果集:

type price
--------------- -------------------------- -----------
The Busy Execut 19.99 0
Cooking with Co 11.95 0
You Can Combat 2.99 0
Straight Talk A 19.99 0
Silicon Valley 19.99 0
The Gourmet Mic 2.99 0
The Psychology (null) 0
But Is It User 22.95 0
Secrets of Sili 20.00 0
Net Etiquette (null) 0
Computer Phobic 21.59 0
Is Anger the En 10.95 0
Life Without Fe 7.00 0
Prolonged Data 19.99 0
Emotional Secur 7.99 0
Onions, Leeks, 20.95 0
Fifty Years in 11.95 0
Sushi, Anyone? 14.99 0

(18 row(s) affected)
dawugui 2009-10-20
  • 打赏
  • 举报
回复
ISNUMERIC
确定表达式是否为一个有效的数字类型。

返回类型
int

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

-狙击手- 2009-10-20
  • 打赏
  • 举报
回复
isnumeric
liangCK 2009-10-20
  • 打赏
  • 举报
回复
字段 like '%[^0-9]%' 存在不是数字的字符
--小F-- 2009-10-20
  • 打赏
  • 举报
回复
ISNUMERIC
确定表达式是否为一个有效的数字类型。

语法
ISNUMERIC ( expression )

参数
expression

要计算的表达式。

返回类型
int

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

xiequan2 2009-10-20
  • 打赏
  • 举报
回复
isnumeric
siu5 2009-10-20
  • 打赏
  • 举报
回复
看来好像就是只有我不懂,我提问的时候,CSDN的参考提示里面,居然没有我的问题这方面的提示。
siu5 2009-10-20
  • 打赏
  • 举报
回复
真开心那么快就有答案了。谢谢各位。怎么大家都知道,就是我那么简单都不知道的呢?
fionazou 2009-10-20
  • 打赏
  • 举报
回复
isnumeric(string)=1 即为数字.
jenny0810 2009-10-20
  • 打赏
  • 举报
回复
学习

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧