重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你to_date以后,后面只是指定显示的格式,并不是这个日期实际的值
创新互联专注于平和企业网站建设,成都响应式网站建设公司,电子商务商城网站建设。平和网站建设公司,为平和等地区提供建站服务。全流程按需网站开发,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
实际的值应该是'01-9月 -12'
你substr以后当然是01-9了
你可以转化成string再进行substr
substr(to_char(to_date('2012-09-01', 'yyyy-mm-dd'),'yyyy-mm-dd'),1, 4)
不过这是多此一举,你可以直接
to_char(to_date('2012-09-01', 'yyyy-mm-dd'),'yyyy')
oracle中的date类型字段,截取年份可用to_char函数。
工具:oracle 10g
工具:oracle 10g
步骤:
1、如emp表中有hiredate字段为date类型的数据。
2、截取其中的年份部分,用如下语句:
1
select empno,ename,job,mgr,to_char(hiredate,'yyyy'),sal,comm,deptno from emp;
3、运行后结果,可以看出年份已将截取出来了:
select to_date(´0214´,´mmdd´)+rownum
from dual
connect by rownumto_date(´0420´,´mmdd´)-to_date(´0214´,´mmdd´)
oracle中最简单获取日期的方式是通过查询sysdate来获取。
语句如下:
select sysdate from dual;
结果:
如果只获取日期部分:
select to_char(sysdate,'yyyy-mm-dd') from dual;
结果:
to_date()函数是把字符串转换为日期的,比如你的字段是date类型
那么这样就可以了
字段名 Between to_date('20120725080000','yyyymmddhh24miss') And to_date('20120730080000','yyyymmddhh24miss')
这个就是截取2012年7月25日8点到30日8点的数据