你to_date以后,后面只是指定顯示的格式,并不是這個日期實際的值
創(chuàng)新互聯(lián)專注于平和企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,電子商務(wù)商城網(wǎng)站建設(shè)。平和網(wǎng)站建設(shè)公司,為平和等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站開發(fā),專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
實際的值應(yīng)該是'01-9月 -12'
你substr以后當(dāng)然是01-9了
你可以轉(zhuǎn)化成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函數(shù)。
工具:oracle 10g
工具:oracle 10g
步驟:
1、如emp表中有hiredate字段為date類型的數(shù)據(jù)。
2、截取其中的年份部分,用如下語句:
1
select?empno,ename,job,mgr,to_char(hiredate,'yyyy'),sal,comm,deptno?from?emp;
3、運行后結(jié)果,可以看出年份已將截取出來了:
select to_date(′0214′,′mmdd′)+rownum
from dual
connect by rownumto_date(′0420′,′mmdd′)-to_date(′0214′,′mmdd′)
oracle中最簡單獲取日期的方式是通過查詢sysdate來獲取。
語句如下:
select?sysdate?from?dual;
結(jié)果:
如果只獲取日期部分:
select?to_char(sysdate,'yyyy-mm-dd')?from?dual;
結(jié)果:
to_date()函數(shù)是把字符串轉(zhuǎn)換為日期的,比如你的字段是date類型
那么這樣就可以了
字段名 Between to_date('20120725080000','yyyymmddhh24miss') And to_date('20120730080000','yyyymmddhh24miss')
這個就是截取2012年7月25日8點到30日8點的數(shù)據(jù)