MySQL时间函数
一、日期时间类型
时间函数就是用来处理时间的函数。时间,几乎可以说是各类项目中都会存在的数据,项目需求不同,我们需要的时间函数也不一样, 比如:
- 如果我们要统计一天之中不同时间段的销售情况,就要获取时间值中的小时值,这就会用到函数HOUR();
- 要计算与去年同期相比的增长率,这就要计算去年同期的日期时间,会用到函数DATE_ ADD();
- 要计算今天是周几、有没有优惠活动,这就要用到函数DAYOFWEEK()了;
- ……
1、获取日期时间数据中部分信息的函数
首先,我们来分析一下“统计一天中每小时的销售数量和销售金额”的这个需求。
先创建三个表,基于这三个表的信息进行举例:
要统计一天中每小时的销售情况,实际上就是要把销售数据按照小时进行分组统计。那么,解决问题的关键,就是把交易时间的小时部分提取出来。这就要用到MySQL的日期时间处理函数EXTRACT ()和HOUR () 了。
为了获取小时的值,我们要用到EXTRACT()函数。EXTRACT (type FROM date)表示从日期时间数据"date" 中抽取"type"指定的部分。
SELECT
EXTRACT(HOUR FROM b.transdate) AS 时段,
SUM(a.quantity) AS 数量,
SUM(a.salesvalue) AS