去掉非数字字符怎么写SQL

zhyl0219 2008-11-08 11:21:25
去掉非数字字符怎么写SQL.
在表中有varchar2类型的字段,存储的有数字型的字符,想把这些数字型的字符取出来转换为float参于计算.如果排除那些非数字型的字符?
比如字段中存储的有:'123','abc'.'123'是可以转换为数字的,而'abc'转不了数字,我想把这些不能转成数字的数据全部排除掉,请问该怎么写SQL.
谢谢!
...全文
693 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
fcuandy 2008-11-08
  • 打赏
  • 举报
回复
select * from tb where isnumeric(col)=1
zjcxc 2008-11-08
  • 打赏
  • 举报
回复
DELETE FROM 表
WHERE ISNUMERIC(字符列) = 0
hyde100 2008-11-08
  • 打赏
  • 举报
回复
select 
cast(col as float) col
from table1
where isnumeric(col) = 1
liangCK 2008-11-08
  • 打赏
  • 举报
回复
SELECT *
FROM tb
WHERE ISNUMERIC(字段名)=1 --查出是数字的记录
hyde100 2008-11-08
  • 打赏
  • 举报
回复
where isnumeric(col) = 1
一品梅 2008-11-08
  • 打赏
  • 举报
回复
select
cast(col as float) col
from table1
where isnumeric(col) = 1
-晴天 2008-11-08
  • 打赏
  • 举报
回复
http://www.enet.com.cn/article/2008/0310/A20080310178271.shtml
-晴天 2008-11-08
  • 打赏
  • 举报
回复
select * from table1 where   upper(column1)=TRANSLATE (upper(column1), '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ', '0123456789');
-晴天 2008-11-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 nalnait 的回复:]
引用 6 楼 CN_SQL 的回复:
楼上的好心人都被忽悠了,它用的是ORACLE(VARCHAR2)
ORACLE里没有这个函数,必须自己写


好细心
[/Quote]
赞一个.
fcuandy 2008-11-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 CN_SQL 的回复:]

[/Quote]

...
nalnait 2008-11-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 CN_SQL 的回复:]
楼上的好心人都被忽悠了,它用的是ORACLE(VARCHAR2)
ORACLE里没有这个函数,必须自己写
[/Quote]

好细心
CN_SQL 2008-11-08
  • 打赏
  • 举报
回复
楼上的好心人都被忽悠了,它用的是ORACLE(VARCHAR2)
ORACLE里没有这个函数,必须自己写:


create or replace function isnumeric (param in varchar2) return boolean as
dummy number;
begin
dummy:=to_number(param);
return(true);
exception
when others then
return (false);
end;

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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