Oracle常用當年、當月、當日的查詢語句

一、Oracle常用的查詢當年、當月、當日的語句

1.1、首先需要確認Oracle數據庫查詢的日期字段存儲的是字符還是日期類型的數據,不同的數據類型sql語句略有不同:

①存儲的是字符型(如“2019-11-22 00:00:00”類型的數據)字段,可用以下語句:

select * from 表名 where to_char(sysdate,'yyyy-mm')=substr(數據庫中日期字段名稱,1,7)

②如果存儲的是日期型字段,可用以下語句:

select * from 表名 where to_char(sysdate,'yyyy-mm')=to_char(數據庫日期字段名稱,'yyyy-mm')

1.2、查詢今天、昨天、本週、上週、本月、上月所有數據信息sql語句

①查詢今天所有數據:

SELECT * FROM 表名稱 WHERE TO_CHAR(時間字段名稱,'YYYY-MM-DD')=TO_CHAR(SYSDATE,'YYYY-MM-DD')

②查詢昨天所有數據:

SELECT * FROM 表名稱 WHERE TO_CHAR(時間字段名稱,'YYYY-MM-DD')=TO_CHAR(SYSDATE-1,'YYYY-MM-DD')

③查詢本週所有數據:

SELECT * FROM 表名稱 WHERE 時間字段名稱 >= TRUNC(NEXT_DAY(SYSDATE-8,1)+1) AND T_RKSJ < TRUNC(NEXT_DAY(SYSDATE-8,1)+7)+1

④查詢上週所有數據:

SELECT * FROM 表名稱 WHERE 時間字段名稱 >= TRUNC(NEXT_DAY(SYSDATE-8,1)-6) AND T_RKSJ < TRUNC(NEXT_DAY(SYSDATE-8,1)+1)

⑤查詢本月所有數據:

SELECT * FROM 表名稱 WHERE TO_CHAR(時間字段名稱,'YYYY-MM')=TO_CHAR(SYSDATE,'YYYY-MM')

⑥查詢上月所有數據:

SELECT * FROM 表名稱 WHERE TO_CHAR(時間字段名稱,'YYYY-MM')=TO_CHAR(ADD_MONTHS(SYSDATE,-1),'YYYY-MM')

1.3、查詢到當日的數據數目、指定列內容總和

①查詢當日的數據數目

SELECT COUNT(*) AS NUMBERS FROM 表名稱 WHERE TO_CHAR(時間字段名稱,'YYYY-MM-DD')=TO_CHAR(SYSDATE,'YYYY-MM-DD')

②查詢當日的指定列內容的數據總和

SELECT SUM(需要統計列的名稱) FROM 表名稱 WHERE TO_CHAR(時間字段名稱,'YYYY-MM-DD')=TO_CHAR(SYSDATE,'YYYY-MM-DD')

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章