第一部分,基础:常见日期(date)和时间(time)函数的使用

1、获取当前日期时间
select now()        【2019-06-22 22:22:23 】 返回当前日期时间,受set timestamp影响
select sysdate()        【2019-06-22 22:31:32 】返回当前日期时间,同一语句中可能返回不同的值,不受set timestamp影响
select curdate()        【2019-06-22 】返回当前日期
select curtime()        【 22:42:46】返回当前时间
2、日期date()、时间time()、年year()、季quarter()、月month()、日day()、时hour()、分minute()、秒second()
select date(now()) 【2019-06-22】日期 select time(now()) 【 23:18:47】时间
select year(now()) 【2019】年 select quarter(now()) 【2】季 select month(now()) 【6】月 select day(now()) 【22】天
select hour(now()) 【23】时 select minute(now()) 【18】分 select second(now()) 【47】秒
3、日期时间的加减 date_add(date,interval expr unit)
select date_add(now(), interval 1 year)     【2020-06-22 23:32:32】+1y select date_add(now(), interval 1 quarter) 【 2019-09-22 23:34:07】+1q
select date_add(now(), interval 1 month) 【2019-07-22 23:35:06】+1M select date_add(now(), interval 1 week)   【 2019-06-29 23:36:16】+1w
select date_add(now(), interval 1 day)     【2019-06-23 23:37:14】+1d select date_add(now(), interval 1 hour)   【 2019-06-23 23:37:14】+1h
select date_add(now(), interval 1 minute) 【2019-06-22 23:39:46】+1m select date_add(now(), interval 1 second) 【 2019-06-22 23:39:39】+1s
特别注意的点:
1、平年、闰年2月天数问题         select date_add('2005-02-28', interval -1 year)   【2004-02-28】       这里结果并不是我们想要的2004-02-29
2、大月、小月天数问题         select date_add('2005-06-30', interval -3 month)   【2005-03-30】       这里结果并不是我们想要的2004-03-31
4、日期时间格式化 date_format(datetime,format),解析 str_to_date(str,format)
select date_format(now(), '%Y-%m-%d %H:%i:%s')        输出【2019-06-23 00:08:27】                               
select str_to_date('08.09.2008', '%m.%d.%Y')        输出【 2008-08-09】

点击查看格式化符号列表

6、间隔天数 datediff(dt1,dt2),间隔时间 timediff(dt1,dt2)
select datediff(now(),'2018-04-09')        输出【440】                                             
select timediff(now(),'2019-06-23 19:24:30')        输出【 -18:56:03】
7、月初日期,月末日期last_day(dt)(月最后一天)
select date_add(curdate(), interval - day(curdate()) + 1 day)        输出【2019-06-01】                                                             
select last_day(now())        输出【 2019-06-30】

第二部分,实战,计算同比增长,环比增长,累计同比

演示需要的模拟数据,apple表存储了苹果四年销售量当月值,表仅有三个字段:id(主键),saledate(日期), salenum(销售量)

1、计算月同比,月环比
2、计算年同比

3、计算季度同比,季度环比

4、计算按月累计同比

5、计算股票的涨幅

思路:综上都是使用时间作为连接同一个表的条件,但是对于股票时间并不连续,非交易日都是没有数据的,所以计算股票的较前一交易日的涨幅时候需要另一张交易日的表,表结构如下
id now_trade_date(今天交易时间) last_trade_date(上一个交易时间)
然后三表连接就可以计算出涨幅了。

实际上为了速度,每天做触发器计算出股票涨幅,同比,累计同比数据并保存到表中,使用时直接查结果就更快了

mysql的时间日期函数总结。案例应用:计算同比、环比、累计同比,股票类延伸。---- 前海最靓的仔,陈宇超相关推荐

  1. mysql的时间日期函数

    一:mysql中,获取当前时间: 1:now(); :获取年月日时分秒 2:curdate() : 获取年月日 二:mysql中获取当前日期属于周几 1:返回日期date的星期索引(1=星期天,2=星 ...

  2. 时间转化_Excel常见时间日期函数全讲解,10个函数教你如何进行日期转化

    在工作中我们经常会碰到一些需要转化或者计算时间日期的工作,这里就需要我们用到一些常见的Excel时间日期函数.今天我们就通过十个案例来教大家,如何在实际工作中对时间日期进行转化处理. 函数一.显示当前 ...

  3. mysql以下日期函数正确的_[数据库]MYSQL基础03(日期函数)

    [数据库]MYSQL基础03(日期函数) 0 2015-10-29 01:00:09 工作中对日期的处理是经常遇到的,需求可能多种多样,因此重点介绍. 1.获取当前日期select NOW()-- 结 ...

  4. MySQL中时间日期类型的使用

    一.MySQL中 日期和时间类型 参考 MySQL 数据类型(还有其他知识) 参考 SQL 数据类型 表示时间值的日期和时间类型为 DATETIME.DATE.TIMESTAMP.TIME和YEAR. ...

  5. Sybase时间日期函数

    http://yangkun0318.blog.163.com/blog/static/131809433201031295947642/ Sybase时间日期函数 2010-04-12 09:59: ...

  6. R语言-时间日期函数

    R语言时间日期函数 1. 返回当前日期时间,有两种方式: Sys.time() date() 举例 format(Sys.time(), "%a %b %d %X %Y %Z")# ...

  7. PostgreSQL的时间/日期函数使用

    PostgreSQL的常用时间函数使用整理如下: 一.获取系统时间函数 1.1 获取当前完整时间 select now(); david=# select now();now ------------ ...

  8. 面试官问:mysql中时间日期类型和字符串类型的选择

    摘要:MySQL中有多种表示时间日期的数据类型,主要有YEAR.TIME.DATE.DATETIME.TIMESTAMP等 本文分享自华为云社区<一针见血,mysql中时间日期类型和字符串类型的 ...

  9. 收集SQLite中的时间日期函数[ZT]

    声明:文章摘自:http://www.xueit.com/html/2009-02/27_649_00.html 在插入数据时为了插入时间,我自己用了这个方法在数据库中: sql = "IN ...

最新文章

  1. WindowManager如何被Android深度解析(2)
  2. Linux 内核网络协议栈运行原理
  3. OS / Linux / Inode 详解
  4. javascript --- [小练习]变量提升、优先级综合
  5. matlab中tsne函数,t-Distributed Stochastic Neighbor Embedding
  6. 答案 石头剪刀布 编码过程 0912
  7. 用并发队列(ConcurrentQueue)实现多线程任务中随时异步回调进度通知(.Net4.0)
  8. matlab cnn 识别苹果,CNNmatlab cnn卷积神经网络用于手写数字识别 - 下载 - 搜珍网
  9. 彻底阻止、禁用google chrome浏览器自动更新、升级
  10. vue @click.native和@click.stop和@click.self
  11. 漏洞修复:javascript框架库漏洞
  12. 开源的网络服务框架:Apache Etch 1.4.0 发布
  13. UVA1665 Islands (并查集)
  14. 信安数学/网安数学——证明形如4k-1的素数有无限个
  15. su域名是什么?su域名的历程是怎样的?
  16. 104道 CSS 面试题,助你查漏补缺(上)
  17. gojs拓扑图实现节点外围圆环按钮
  18. Smart200与200PLC转以太网无需编程实现以太网数据交换
  19. 【Kubernetes | Pod 系列】Pod 的基本管理(2)——对 Pod 的查询
  20. 光通量,光强,亮度,照度

热门文章

  1. final、finally、finally
  2. 外贸邮箱应该如何选择,用哪个比较好
  3. 静态时序时序分析-前言(Preface)
  4. 小白必看!您知道如何判断两台机器是否能正常通信吗?详解IP地址组成,网络地址和主机地址的区分!...
  5. 中国眼动追踪市场趋势报告、技术动态创新及市场预测
  6. 如何把密度函数化为标准正态二维分布_概率ch3_2 边缘分布
  7. 图像处理-线性滤波-1 基础(相关算子、卷积算子、边缘效应)
  8. SQL获取上个月1号,本月1号,下个月1号,本月天数 [sql语句]
  9. deppin 15 u盘制作
  10. 一个优秀IT专家的成长历程