SQL数据分析 – 时间序列

数据分析学习社
数据分析学习社
数据分析学习社
348
文章
0
评论
2021-07-2711:08:23 评论 963 1652字
摘要

时间序列数据是一种重要的结构化数据形式,在多个时间点观察或测量到的任何事物都可以形成一段时间序列。时间序列可以是固定频率的,也可以是不定期的。 时间序列数据的意义取决于具体的应用场景,本节使用SQL语句,讲解日期格式数据的应用,包含返回当前时间、时间偏移、时间作差内容

一、返回当前时间

在SQL中,返回当前时间与EXCEL中有很多相似之处,比如返回年月日,当前周,当前是星期几,只要类比学习即可,select在此处用于执行运算,as后面跟一个别名。

1.1 返回当前的年月日

  •  
select current_date()
使Navicat Premium 12数据库管理工具连接MySQL新建查询,在查询区域SQL语句进行数据查询

SQL数据分析 - 时间序列

1.2 返回当前的时间(到秒)

  •  
select current_timestamp as "当前时间";

SQL数据分析 - 时间序列

1.3 返回日期中的年月日

  •  
SELECT date_format(current_timestamp,"%Y-%m-%d") as "日期";

SQL数据分析 - 时间序列

这里使用date_format设置自定义格式,"%Y-%m-%d"用来返回年月日。

1.4 返回日期中的年(year)

  •  
select year("2021-06-14 20:36:04") as year;

SQL数据分析 - 时间序列

1.5 返回日期中的月(month)

  •  
select month("2021-06-14 20:36:04") as month;

SQL数据分析 - 时间序列

1.6 返回日期中的日(day)

  •  
select day("2021-06-14 20:36:04") as day;

SQL数据分析 - 时间序列

1.7 返回日期中的时(hour)

  •  
select hour("2021-06-14 20:36:04") as hour;

SQL数据分析 - 时间序列

1.8 返回日期中的分(minute)

  •  
select minute("2021-06-14 20:36:04") as minute;

SQL数据分析 - 时间序列

1.9 返回日期中的秒(second)

  •  
select second("2021-06-14 20:36:04") as second;

SQL数据分析 - 时间序列

二、时间偏移

2.1 返回开始月份增加month后的日期

  •  
SELECT PERIOD_ADD(202106,3) as "增加月";

SQL数据分析 - 时间序列

月份的偏移使用PERIOD_ADD函数,后面缀加偏移的月数即可。

2.2 返回开始月份减少month后的日期

  •  
SELECT PERIOD_ADD(202106,-3) as "减少月";

 

SQL数据分析 - 时间序列

2.3 返回开始日期增加days天后的日期

  •  
select ADDDATE("2021-06-14",7) as "增加7天";

SQL数据分析 - 时间序列

天数的偏移使用ADDDATE函数,后面缀加偏移的天数即可。

2.4 返回开始日期减去days后的日期

  •  
select ADDDATE("2021-06-14",-7) as "减少7天";

SQL数据分析 - 时间序列

2.5 返回当月第1天

  •  
select DATE_ADD(curdate(),interval -day(curdate())+1 day) as "本月第一天";

SQL数据分析 - 时间序列

2.6 返回当年的第一天

  •  
select DATE_SUB(curdate(),interval dayofyear(now())-1 day) as "当年第一天";

SQL数据分析 - 时间序列

2.7 返回日期在当前的周数

  •  
select WEEKOFYEAR("2021-06-14") as "当前周"

SQL数据分析 - 时间序列

返回当前周用WEEKOFYEAR函数。

2.8 返回日期在当前的星期数

  •  
SELECT WEEKDAY("2021-06-14") as "星期";

SQL数据分析 - 时间序列

返回当前是星期几用WEEKDAY函数,如果返回结果为0 表示当前是星期一,返回结果为1 表示当前是星期二。

三、时间作差

3.1 返回结束日期减去开始日期的天数

  •  
select datediff("2021-06-14","2021-01-01") as "间隔天数";

SQL数据分析 - 时间序列

返回结束日期减去开始日期的结果,这里使用datediff函数,与在EXCEL中的用法一致,结束日期放前面。

  •  
select unix_timestamp("2021-06-14 21:52:12")-unix_timestamp("2021-06-14 20:33:33") as "间隔时间";

SQL数据分析 - 时间序列

返回时间戳的间隔使用到unix_timestamp函数,作差即可。

 

 

End.

作者:尚天强

本文为转载分享,如果涉及作品、版权和其他问题,请联系我们第一时间删除(微信号:lovedata0520)

更多文章前往首页浏览http://www.itongji.cn/

 

  • 我的微信公众号
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: