獲取月(兩位):select to_char(sysdate,'mm') from dual
創新互聯長期為近千家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為西湖企業提供專業的成都做網站、成都網站設計,西湖網站改版等技術服務。擁有十多年豐富建站經驗和眾多成功案例,為您定制開發。
那你就把指定的日期to_date()成date,如下:
select to_char(to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss'),'mm') from dual
1、查詢確定年月的數據,使用to_date或to_char都可以實現
SELECT?*?FROM?表名
WHERE?TO_CHAR(日期列,'YYYY-MM')?=?TO_CHAR('2013-06','YYYY-MM')???或者
SELECT?*?FROM?表名
WHERE?日期列?=?TO_Date('2013-06','YYYY-MM')
2、查詢前一個月
select?concat(to_char(sysdate,'yyyy')||to_char(add_months(sysdate,-1),?'-MM-'),'01?00:00:00')start_time,???
concat(to_char(sysdate,'yyyy')||to_char(add_months(sysdate,-1),?'-MM-')||to_char(LAST_DAY(sysdate),'dd?'),'23:59:59')?end_time?????from?dual
3、查詢前一天
select?to_char(sysdate-1,'yyyy-mm-dd?')||'00:00:00'?start_time,to_char(sysdate-1,'yyyy-mm-dd?')||'23:59:59'?end_time??from?dual
--1、考慮到沒有數據的也要總結出一條0的記錄,那我們需要先生成一張當月的日期中間表
SELECT?FDATE
FROM?(SELECT?TRUNC(SYSDATE,?'MONTH')?+?LEVEL?-?1?AS?FDATE
FROM?DUAL
CONNECT?BY?LEVEL?=?31)?T
WHERE?TO_CHAR(FDATE,?'MM')?=?TO_CHAR(SYSDATE,?'MM')
--2、以上邊的表作為左鏈接的表,與你的數據表的日期做關聯查詢就可以得出你要的結果
SELECT?A.FDATE,?NVL(B.FNUM,?0)
FROM?(SELECT?FDATE
FROM?(SELECT?TRUNC(SYSDATE,?'MONTH')?+?LEVEL?-?1?AS?FDATE
FROM?DUAL
CONNECT?BY?LEVEL?=?31)?T
WHERE?TO_CHAR(FDATE,?'MM')?=?TO_CHAR(SYSDATE,?'MM'))?A
LEFT?JOIN?(SELECT?日期字段名?AS?FDATE,?COUNT(1)?AS?FNUM
FROM?表名?B
WHERE?TO_CHAR(日期字段名,?'YYYYMM')?=?TO_CHAR(SYSDATE,?'YYYYMM')
GROUP?BY?日期字段名)?B
ON?A.FDATE?=?B.FDATE
ORDER?BY?A.FDATE
當前題目:oracle中怎么取當月,oracle獲取月初和月末
文章位置:http://vcdvsql.cn/article38/hchgsp.html
成都網站建設公司_創新互聯,為您提供自適應網站、網站建設、電子商務、網站排名、網站設計公司、營銷型網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯