oracle中的date類型字段,截取年份可用to_char函數(shù)。
我們提供的服務(wù)有:做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、淇縣ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的淇縣網(wǎng)站制作公司
工具:oracle 10g
步驟:
1、如emp表中有hiredate字段為date類型的數(shù)據(jù)。
2、截取其中的年份部分,用如下語句:
select?empno,ename,job,mgr,to_char(hiredate,'yyyy'),sal,comm,deptno?from?emp;
3、運(yùn)行后結(jié)果,可以看出年份已將截取出來了:
1、首先打開SQL SERVER管理工具,然后選擇一個(gè)數(shù)據(jù)庫(kù),單擊新查詢。
2、接下來在查詢窗口中輸入以下SQL語句,如下圖所示,將通過GETDATE方法獲得的日期值和字符值拼接在一起。
3、運(yùn)行后會(huì)得到以下錯(cuò)誤信息,很明顯,SQL SERVER不允許拼接日期和字符值。
4、接下來,使用CONVERT函數(shù)對(duì)日期值執(zhí)行字符串轉(zhuǎn)換。
5、運(yùn)行SQL語句后,將在輸出結(jié)果中看到下圖所示的輸出內(nèi)容。
6、當(dāng)然,如果不想使用上述日期格式,也可以選擇自己的日期格式,只需指定樣式ID。
在Oracle中,要獲得日期中的年份,例如把sysdate中的年份取出來,并不是一件難事。常用的方法是:Select to_number(to_char(sysdate,'yyyy')) from dual,而實(shí)際上,oracle本身有更好的方法,那就是使用Extract函數(shù),使用方法是:Select Extract(year from sysdate) from dual,這種方法省掉了類型轉(zhuǎn)換,看上去更加簡(jiǎn)潔。相應(yīng)的,要取得月份或日,可以用select extract (month from sysdate) from dual和select extract (day from sysdate) from dual。 此方法獲得的結(jié)果,是數(shù)值型的,你可以設(shè)置一個(gè)方法測(cè)試一下。
1、創(chuàng)建測(cè)試表,create table test_date(v_date date);
2、插入測(cè)試數(shù)據(jù),
insert into test_date
select sysdate - level * 10 from dual connect by level 100
3、查詢表中所有記錄,select * from test_date,可以看到時(shí)間格式為年月日時(shí)分秒,
4、編寫sql,將時(shí)間截取到年月,
select t.*,
?to_char(v_date, 'yyyymm') v_date_mon1,
?trunc(v_date, 'mm') v_date_mon2
from TEST_DATE t