to_date ORA-01830:日期格式图片在转换整个输入字符串之前结束

标签:
杂谈 |
分类: ORACLE |
TO_DATE的使用实例:
今天使用to_date获取年份,出现问题:
case:
select to_char(to_date('2012-12-04','yyyy'),'yyyy') from dual;
result:
http://s10/mw690/82a09f10xd004de716919&690
错误产生原因:date类型不能包含秒以后的精度。
修改后语句如下:
select to_char(to_date('2012-12-04','yyyy'),'yyyy-MM-dd') from dual;
结果:可以正确执行
针对以上问题,在网上找到了不少资料,并整理了一下:
--查询日期语言种类
select * from V$NLS_PARAMETERS;
select * fromnls_session_parameters
--TO_DATE(null)的用法(插入null字段??)
select 1, TO_DATE(null) from dual;
--实际时间2012-12-04
18:22
--24小时显示方式---需用
select to_char(sysdate,'yyyy-MM-dd
HH24:mi:ss') from dual;--mi是分钟
select to_char(sysdate,'yyyy-MM-dd
HH24:mm:ss') from dual;--mm会显示月份
--12小时制显示方式
select to_char(sysdate,'yyyy-MM-dd
HH:mi:ss') from dual;--mi是分钟
select to_char(sysdate,'yyyy-MM-dd
HH:mm:ss') from dual;--mm会显示月份
--2012-12-04
是星期几
selectto_char(to_date('2012-12-04','yyyy-MM-dd'),'day') from dual;
--2012-12-04
是星期几
selectto_char(to_date('2012-12-04','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;
--2012-12-04
的月份
selectto_char(to_date('2012-12-04','yyyy-MM-dd'),'MONTH') from dual;
--2012-12-04
的月份
select to_char(to_date('2012-12-04','yyyy-mm-dd'),'MONTH','NLS_DATE_LANGUAGE = American') from dual;
下面是在网上找的to_date的格式:
TO_DATE格式(以时间:2007-11-02