一、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')