SQL如果查找某列中全是数字的 出来,

MYNAMELIULI 2011-07-14 07:30:35
某个表中某个列存有字符与数字,例如 A123,B234D,123,567,567H,我想用SQL语句查找出全是数字的出来,按上面的话也就是123,567,

谢谢各位在侠帮忙,
...全文
759 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
MYNAMELIULI 2011-07-15
  • 打赏
  • 举报
回复
谢谢大家的帮助啊,真的好感谢,我忘了有ISNUMERIC这个函数,结帖散分!
liangyong1107 2011-07-14
  • 打赏
  • 举报
回复

--当输入表达式的计算结果为有效的 numeric 数据类型时,ISNUMERIC 返回 1;否则返回 0
SELECT * FROM [表名] WHERE ISNUMERIC([列名])=1
wxxloveu 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cd731107 的回复:]

SQL code
create table #tb(col varchar(10))
insert #tb
select 'A123' union
select 'B234D' union
select '123' union
select '567' union
select '567H'

select * from #tb where ISNUMERIC(col)=1
--或者……
[/Quote]


select * from Customers where isnumeric(customerid)=1
--(2 行受影响)
select * from Customers where customerid not like '%[^1-9]%'
--(0 行受影响)
--这句貌似无效,我的是SQL2005
patrickjiang 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 maco_wang 的回复:]

SQL code
where isnumeric(colname)=1
[/Quote]

+1
cd731107 2011-07-14
  • 打赏
  • 举报
回复
create table #tb(col varchar(10))
insert #tb
select 'A123' union
select 'B234D' union
select '123' union
select '567' union
select '567H'

select * from #tb where ISNUMERIC(col)=1
--或者
select * from #tb where col not like '%[^1-9]%'

/*
col
----------
123
567

(所影响的行数为 2 行)
*/
rucypli 2011-07-14
  • 打赏
  • 举报
回复
ISNUMERIC
叶子 2011-07-14
  • 打赏
  • 举报
回复
 where isnumeric(colname)=1
qgqch2008 2011-07-14
  • 打赏
  • 举报
回复
SELECT * FROM [表名] WHERE ISNUMERIC([列名])=1

34,593

社区成员

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

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