浏览 2648 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-05-19
最后修改:2010-05-19
--函数1 --作用 判断是否为数字 create or replace function isNumber(p_in varchar2) return varchar2 as i number; begin --是否有E字母,因为程序会将字母 E 解析为数字 如果有,直接返回FALSE if(instr(p_in,'E') = 0) then i := to_number(p_in); return 'TRUE'; else return 'FALSE'; end if; exception when others then return 'FALSE'; end; --函数2 --作用 判断第几位为字符 create or replace function findCharToPostion(p_in varchar2, p_positon number) return varchar2 as c char(1); i number; begin select substr(p_in,p_positon,1) into c from dual; if (c = 'E') then return 'TRUE'; else i := to_number(c); return 'FALSE'; end if; exception when others then return 'TRUE'; end findCharToPostion; 使用方法: --找出[Column]第三位为字符的所有数据 select * from TABLE where findCharToPostion(Column,3) = 'TRUE'; --找出[Column]第四位为字符的所有数据 select * from TABLE where findCharToPostion(Column,4) = 'TRUE'; 只是一个简单的例子,我想说的是,有时候函数也能帮我们解决很多头疼的问题...!! 希望能对大家有所启发..!!!! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-05-19
函数1 isNumber使用方法
--找出某列所有为数字的数据 select * from TABLE where isNumber(column) = 'TRUE'; --找出某列不全为数字的数据 select * from TABLE where isNumber(column) = 'FALSE'; |
|
返回顶楼 | |