数据库根据日期统计SQL编写记录

  • 统计每天产生多少数据
SELECT to_char("日期字段",'YYYY-MM-dd') time ,count(*) FROM "表名" GROUP BY time;

在这里插入图片描述

  • 统计每月产生多少数据
SELECT to_char("日期字段",'YYYY-MM') time ,count(*) FROM "表名" GROUP BY time;

在这里插入图片描述

  • 统计每年产生多少数据
SELECT to_char("日期字段",'YYYY') time ,count(*) FROM "表名" GROUP BY time;

在这里插入图片描述

  • 统计周几产生多少数据(day:标识星期几的英文全称 比如 :wednesday(周三),dy:标识星期几的简称 比如:wed(周三))
SELECT to_char("日期字段",'day') time ,count(*) FROM "表名" GROUP BY time;

在这里插入图片描述


SELECT
	CASE
		WHEN to_char("create_time", 'dy') = 'sun' THEN '周日'
	WHEN to_char("create_time", 'dy') = 'mon' THEN '周一'
	WHEN to_char("create_time", 'dy') = 'tue' THEN '周二'
	WHEN to_char("create_time", 'dy') = 'wed' THEN '周三'
	WHEN to_char("create_time", 'dy') = 'thu' THEN '周四'
	WHEN to_char("create_time", 'dy') = 'fri' THEN '周五'
	WHEN to_char("create_time", 'dy') = 'sat' THEN '周六'
	END as time ,
	count(*)
FROM
	"table"
GROUP BY
	time

在这里插入图片描述

  • 统计每季度产生多少数据
SELECT to_char("日期字段",'Q') time ,count(*),to_char("日期字段",'YYYY') ctime FROM "表名" GROUP BY time,ctime;

在这里插入图片描述

  • 统计每月第几天产生多少数据(和日期统计差不多,3个DDD统计当前年的第多少天)
SELECT to_char("日期字段",'DD') time ,count(*),to_char("日期字段",'YYYY-MM-dd') ctime FROM "表名" GROUP BY time,ctime;

在这里插入图片描述

  • 统计获取当前时间的格式,显示上、下午和星期几
SELECT to_char("日期字段",'YYYY/MM/DD:PM:DY') time ,count(*) FROM "表名" GROUP BY time;

在这里插入图片描述

  • 查询日期每隔七天产生的数据
SELECT TO_CHAR("日期字段", 'YYYY/MM/DD') AS NOW,TO_CHAR("日期字段" - INTERVAL '7'day ,'YYYY/MM/DD') AS PAST,count(*) FROM "表名" GROUP BY NOW,PAST;

在这里插入图片描述

--查询当前时间(SYSDATE)的7秒前时间
SELECT TO_CHAR("日期字段", 'YYYY/MM/DD HH24:MI:SS') AS NOW,TO_CHAR("日期字段"- INTERVAL '7' second,'YYYY/MM/DD HH24:MI:SS') AS PAST FROM "表名"
--查询当前时间(SYSDATE)的7分钟前时间
SELECT TO_CHAR("日期字段", 'YYYY/MM/DD HH24:MI:SS') AS NOW,TO_CHAR("日期字段"- INTERVAL '7' minute,'YYYY/MM/DD HH24:MI:SS') AS PAST FROM "表名"
--查询当前时间(SYSDATE)的7小时前时间
SELECT TO_CHAR("日期字段", 'YYYY/MM/DD HH24:MI:SS') AS NOW,TO_CHAR("日期字段"- INTERVAL '7'hour ,'YYYY/MM/DD HH24:MI:SS') AS PAST FROM "表名"
--查询当前时间(SYSDATE)的7天前时间
SELECT TO_CHAR("日期字段", 'YYYY/MM/DD HH24:MI:SS') AS NOW,TO_CHAR("日期字段"- INTERVAL '7'day ,'YYYY/MM/DD HH24:MI:SS') AS PAST FROM "表名"
--查询当前时间(SYSDATE)的7月前时间
SELECT TO_CHAR("日期字段", 'YYYY/MM/DD HH24:MI:SS') AS NOW,TO_CHAR("日期字段" - INTERVAL '7'month ,'YYYY/MM/DD HH24:MI:SS') AS PAST FROM "表名" 
--查询当前时间(SYSDATE)的7年前时间
SELECT TO_CHAR("日期字段", 'YYYY/MM/DD HH24:MI:SS') AS NOW,TO_CHAR("日期字段"- INTERVAL '7'year ,'YYYY/MM/DD HH24:MI:SS') AS PAST FROM "表名"
--查询当前时间(SYSDATE)参数年、月、日、时、分、秒乘以一个数字倍数之前的时间
SELECT TO_CHAR("日期字段", 'YYYY/MM/DD HH24:MI:SS') AS NOW,TO_CHAR("日期字段"- 8*INTERVAL '7'hour ,'YYYY/MM/DD HH24:MI:SS') AS PAST FROM "表名"
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值