在语句中对一列字符串提取其实日期部分,然后to_date成日期格式。但由于人工输入的时有些不太规范,无法正确转成日期,有什么方法可以预先判断一下字符内容是否是有效的日期?SQL> select DATUM,to_date(substr(EREIGNIS,10,instr(EREIGNIS,'-',1,4)-10),'yyyy-mm-dd-hh24:mi'),
.....
ERROR:
ORA-01858: a non-numeric character was found where a numeric was expected检查了一下,此刻的内容是非 'yyyy-mm-dd-hh24:mi', 输入的时候不规范造成的。是否能跳过继续执行SQL语句。
.....
ERROR:
ORA-01858: a non-numeric character was found where a numeric was expected检查了一下,此刻的内容是非 'yyyy-mm-dd-hh24:mi', 输入的时候不规范造成的。是否能跳过继续执行SQL语句。
解决方案 »
- 急!后天就要交毕业设计了,数据库连接池还有个错误没搞定,求高手帮帮忙
- 存储过程条件用in,穿参数进去 查不到数据
- 请教一个关于数据库恢复的问题
- 请教一个oracle触发器,请高人给写出这个trigger!!
- job如何做到定时运行,并且在系统重启后,也能做到定时运行
- 我想检索出游标的某一行的值,如何取呢
- 回复必给分 ,在Oracle中如何查看连接过或正在连接数据库的用户电脑ip , hostname 以及用何种软件登录的,是以哪个用户名登入的??
- 函數中返回一列的值是怎麼寫的???
- 哪位高手可以解释一下下面的代码?
- count(distinct) group by 用法
- oracle10g连网与不连网的问题
- Toad里面的dbms输出结果
insert into newTable(mydate)
select to_date(colk,'yyyy-mm-dd-hh24:mi') from oldtable如果避免这种错误停止?能否有下面这种方式来实现?insert into newTable(mydate)
select to_date(colk,'yyyy-mm-dd-hh24:mi') from oldtable
where ????
CREATE OR REPLACE FUNCTION check_date(p_str VARCHAR2) RETURN NUMBER AS
v_date DATE;
BEGIN
SELECT to_date(p_str,'yyyy-mm-dd-hh24:mi')
INTO v_date
FROM DUAL;
RETURN v_date;
EXCEPTION WHEN OTHERS THEN
RETURN NULL;
END;
/SELECT check_date(colk) FROM yourtab;