MYSQL数据库:
查询当天的所有数据
SELECT * FROM 表名 WHERE DATEDIFF(字段,NOW())=0
查询昨天的所有数据
SELECT * FROM 表名 WHERE DATEDIFF(字段,NOW())=-1
查询未来第n天的所有数据
//当n为负数时,表示过去第n天的数据
SELECT * FROM 表名WHERE DATEDIFF(字段,NOW())=n
查询未来n天内所有数据
//n天内
SELECT * FROM 表名 WHERE DATEDIFF(字段,NOW())<n AND DATEDIFF(字段,NOW())>=0
查询过去n天内所有数据
//包含当天
SELECT * FROM 表名 WHERE DATEDIFF(字段,NOW())<=0 AND DATEDIFF(字段,NOW())>-n
//不包含当天
SELECT * FROM 表名 WHERE DATEDIFF(字段,NOW())<0 AND DATEDIFF(字段,NOW())>-n
——————————————————————————————————————————————————————
——————————————————————————————————————————————————————
Oracle数据库:
查询今天数据:
SELECT COUNT(*) FROM 表名 WHERE TO_CHAR(T_RKSJ,'YYYY-MM-DD')=TO_CHAR(SYSDATE,'YYYY-MM-DD')
查询昨天数据:
SELECT COUNT(*) FROM 表名 WHERE TO_CHAR(T_RKSJ,'YYYY-MM-DD')=TO_CHAR(SYSDATE-1,'YYYY-MM-DD')
查询本周数据:
SELECT COUNT(*) FROM 表名 WHERE T_RKSJ >= TRUNC(NEXT_DAY(SYSDATE-8,1)+1) AND T_RKSJ < TRUNC(NEXT_DAY(SYSDATE-8,1)+7)+1
查询上周数据:
SELECT COUNT(*) FROM 表名 WHERE T_RKSJ >= TRUNC(NEXT_DAY(SYSDATE-8,1)-6) AND T_RKSJ < TRUNC(NEXT_DAY(SYSDATE-8,1)+1)
查询本月数据:
SELECT COUNT(*) FROM 表名 WHERE TO_CHAR(T_RKSJ,'YYYY-MM')=TO_CHAR(SYSDATE,'YYYY-MM')
查询上月数据:
SELECT COUNT(*) FROM 表名 WHERE TO_CHAR(T_RKSJ,'YYYY-MM')=TO_CHAR(ADD_MONTHS(SYSDATE,-1),'YYYY-MM')
备注:NEXT_DAY(SYSDATE,1)函数为当前系统时间的下个星期日时间,数字1代表星期日;