/* 判断字符串是否是日期格式 */ --转日期,正确的日期返回1,错误返回0 create or replace function is_date(parameter varchar2) return number is val date; begin val := to_date(nvl(parameter, 'a'), 'yyyy-mm-dd hh24:mi:ss'); return 1; exception when others then return 0; end; --转日期,如果格式不对返回null create or replace function todate(v_str varchar2, format varchar2) return date is v_date date; begin v_date := to_date(v_str, format); return v_date; exception when others then return null; end todate; /*调用*/ select is_date('999999') from dual; /*返回0*/ select is_date('1999-01-01') from dual; /*返回1*/ /*判断字符串是否是数字格式*/ create or replace function is_number(parameter varchar2) return number is val number; begin val := to_number(nvl(parameter, 'a')); return 1; exception when others then return 0; end; --转为数字,如果不能转则返回null create or replace function tonumber(v_str varchar2) return number is v_num number; begin v_num := to_number(v_str); return v_num; exception when others then return null; end tonumber; /*调用*/ select is_date('abc') from dual; /*返回0*/ select is_date('123') from dual; /*返回1*/
浙公网安备 33010602011771号