日期:2014-05-17  浏览次数:20821 次

有办法检索一个varchar2型字段存的数据不能转换成yyyy-mm-dd hh23:mi:ss这样的date型吗?
请教,如何能检索出varchar2型字段存的数据不能转换成yyyy-mm-dd   hh23:mi:ss这样的date型的记录吗?
谢谢

------解决方案--------------------
恩,我的意思是你写个过程,在里面判断每个记录,如果抛出异常来就把这条记录删掉
------解决方案--------------------
SQL> create or replace function fun_changestrtodate(str_date varchar2)
2 return date
3 is
4 var_date date;
5 begin
6 begin
7 var_date := to_date(str_date, 'yyyy-mm-dd hh24:mi:ss ');
8 exception
9 when others then
10 var_date := null;
11 end;
12 return var_date;
13 end;
14 /

Function created

SQL> select fun_changestrtodate( 'abc '),1 from dual
2 union all
3 select fun_changestrtodate( '2007-01-01 12:12:12 '),2 from dual;

FUN_CHANGESTRTODATE( 'ABC ') 1
-------------------------- ----------
1
2007-1-1 12:12:12 2