SQL ALTER session 2 SET nls_date_format='yyyy-mm-dd hh24:mi:ss';
目前創(chuàng)新互聯(lián)已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管維護、企業(yè)網(wǎng)站設(shè)計、寶安網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
會話已更改。
select
TO_DATE( TO_CHAR( EXTRACT(YEAR FROM SYSDATE) + 1 ) || '1231', 'YYYYMMDD' ) AS "第二年年末"
from
dual;
第二年年末
-------------------
2013-12-31 00:00:00
在Oracle中,要獲得日期中的年份,例如把sysdate中的年份取出來,并不是一件難事。常用的方法是:Select to_number(to_char(sysdate,'yyyy')) from dual,而實際上,oracle本身有更好的方法,那就是使用Extract函數(shù),使用方法是:Select Extract(year from sysdate) from dual,這種方法省掉了類型轉(zhuǎn)換,看上去更加簡潔。相應(yīng)的,要取得月份或日,可以用select extract (month from sysdate) from dual和select extract (day from sysdate) from dual。
此方法獲得的結(jié)果,是數(shù)值型的,你可以設(shè)置一個方法測試一下。
你也不發(fā)表結(jié)構(gòu),只能從理論上說一下。
既然全量表存儲的是每天的數(shù)據(jù),肯定有記錄時間的字段,那就按時間截取部分數(shù)據(jù),放到歷史表就可以了,比如表名是table,時間字段是create_time,先創(chuàng)建一個歷史表
create table table_2018 select * from table where create_time='2018-11-01' and create_time '2019-01-01'
這樣就把18年11月、12月的數(shù)據(jù)存到歷史表了,也可以指定具體保存哪個列。
oracle中的date類型字段,截取年份可用to_char函數(shù)。
工具:oracle 10g
步驟:
1、如emp表中有hiredate字段為date類型的數(shù)據(jù)。
2、截取其中的年份部分,用如下語句:
select?empno,ename,job,mgr,to_char(hiredate,'yyyy'),sal,comm,deptno?from?emp;
3、運行后結(jié)果,可以看出年份已將截取出來了:
設(shè):
1、數(shù)據(jù)表名稱為:TABLE1
2、TABLE1中的date字段名為:COLUMN1
獲取去年到今年的上月底的數(shù)據(jù)的SQL如下:
select?*
from?TABLE1?t
where?t.COLUMN1?=?add_months(trunc(sysdate,'YYYY'),-12)
and?t.COLUMN1??trunc(sysdate,'MM')
分享題目:oracle年末怎么取,oracle取上年末
本文網(wǎng)址:http://m.rwnh.cn/article4/dscodie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、營銷型網(wǎng)站建設(shè)、小程序開發(fā)、搜索引擎優(yōu)化、、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)