今天在 DRM中报错ora-01830 
		
				把sql语句输出作了以下的实验,发现是时间多了一个.0
		
		
				后来的办法是先把这个时间转成to_char,再转成to_date
		
		
				SQL> select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:ss') from dual;
		
		
				select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:ss') from dual
		
		
				ORA-01830: 日期格式图片在转换整个输入字符串之前结束
		
		
				SQL> select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:sssss') from dual;
		
		
				select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:sssss') from dual
		
		
				ORA-01836: 小时与日中的秒发生冲突
		
		
				SQL> select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:ss.sssss') from dual;
		
		
				select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:ss.sssss') from dual
		
		
				ORA-01836: 小时与日中的秒发生冲突
		
		
				SQL> select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:ff') from dual;
		
		
				select to_date('2005-10-01 12:01:01.0','yyyy-mm-dd hh24:mi:ff') from dual
		
		
				ORA-01821: 日期格式无法识别
		
		
				------------------------------------------------------------------
		
		
				必须保证传入的字符串和要转换的格式精确匹配
		
		
				SQL> SELECT TO_DATE('11-10-1996-13:51:21','DD/MM/YYYY-HH24') A FROM dual; 
ERROR: 
ORA-01830: date format picture ends before converting entire input string.
		
		
				
						SQL> SELECT TO_DATE('11-10-1996-13:51:21','DD/MM/YYYY-HH24:MI:SS') B FROM dual; 
--------------------------------------
以上是转载的
后来我是这么做的哈:
SELECT中将其他表的日期TO_CHAR下,然后再将值在INSERT时TO_DATE!
具体的做法如下:
SELECT TO_CHAR(parameter,'YYYY-MM-DD HH24:MI:SS') AS TIME
FROM TABLE_NAME_1;
...
...
INSERT INTO TABLE_NAME_2
(COLUME_NAME_1)
VALUE (TO_DATE('"+TIME+"','YYYY-MM-DD HH24:MI:SS'));
然后就OK了,呵呵,看来要学的还真多!
		
	posted on 2006-08-10 21:03 
Lansing 阅读(6170) 
评论(2)  编辑  收藏  所属分类: 
学习 、
个人日志 、
Oracle 10g 、
Java