oracle判断字段中值是否为数字或者为字母方法收集
(2013-04-13 14:21:41)分类: oracle |
方法一:
create or replace function Isnumber(P_column in varchar2) return number is
begin
exception
end;
/
--测试
SQL> create table t (a varchar2(10));
表已创建。
SQL> begin
SQL> select * from t;
A
----------
abc
123
cde
456122
efd4554
SQL> select * from t where Isnumber(a) = 1;
A
----------
123
456122
方法二:select * from table_a a where substr(a.a ,1,1) >'A'
改成小于号,适合要么全数字要么全字母的列
方法三:translate(string,'x1234567890','x') is null
例子:
select a.name from
方法五:
利用 to_number
CREATE OR REPLACE FUNCTION isnumeric(str IN VARCHAR2) RETURN NUMBER IS
BEGIN
/
方法六
CREATE OR REPLACE FUNCTION isnumeric(str IN VARCHAR2) RETURN NUMBER IS
BEGIN
END isnumeric;
/
方法七: oracle 10G以上版本才能使用正则表达式
利用 regexp_like
CREATE OR REPLACE FUNCTION isnumeric(str IN VARCHAR2) RETURN NUMBER IS
BEGIN
END isnumeric;
/