ops$lg\[email protected] >select * from t;V
--------------------
124315
afasf4315
afasf4315afasops$lg\[email protected] >select v from t where nvl(TRANSLATE(v,'0123456789','0'),1)<>'1';V
--------------------
afasf4315
afasf4315afas
--------------------
124315
afasf4315
afasf4315afasops$lg\[email protected] >select v from t where nvl(TRANSLATE(v,'0123456789','0'),1)<>'1';V
--------------------
afasf4315
afasf4315afas
解决方案 »
- 求助:ORACLE 11G SQLPLUS网址怎么打不开 http://localhost:5560/isqlplus/
- 现在有几百万数据从oracle到出到文件,要用.net实现(请大家提供一个好的解决方法)
- oracle开发高难度动作,高手帮忙
- 求累加 SQL
- 基础的问题,请大家帮忙
- Oracle8i刚装完,SQL*plus不能登陆
- [100分]如何记录主数据库一段时间内的动作,并且把动作内容导出?
- 如何在SQL PULS里面输出这样的表格形式呢?
- 请问在那里可以下载oracle 标准版?
- 求一sql
- 谁能告知oracle10g的Net8 Configuration Assistant在哪里配置?
- ★★提示ORA_01001错误,该怎样解决?★★
我来一个挺一般的方法:
SQL> ed
已写入文件 afiedt.buf 1 create or replace function get_non_int(str in varchar2)
2 return varchar2
3 is
4 i int:=1;
5 first varchar2(100);
6 str_some varchar2(100);
7 result varchar2(100):='';
8 begin
9 while i<=length(str)
10 loop
11 str_some:=substr(str,i);
12 first :=substr(str_some,1,1);
13 if ascii(first) not between 48 and 57
14 then
15 result:= result||first;
16 end if;
17 i:=i+1;
18 end loop;
19 return (result);
20* end;
SQL> /函数已创建。SQL> select get_non_int('345g') from dual;GET_NON_INT('345G')
--------------------------------------------------------------------------------
g
谢谢 过讲!快到一星了吧。
----------
123456789
123456789A
ASDFASDFSA
12346.5645
123465645.
.123465645已选择6行。SQL> SELECT * FROM TEST WHERE TRIM(TRANSLATE(A, '.0123456789', LPAD(' ',11))) IS NULL;A
----------
123456789
12346.5645
123465645.
.123465645