mysql的时间日期函数总结。案例应用:计算同比、环比、累计同比,股票类延伸。---- 前海最靓的仔,陈宇超
第一部分,基础:常见日期(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的时间日期函数总结。案例应用:计算同比、环比、累计同比,股票类延伸。---- 前海最靓的仔,陈宇超相关推荐
- mysql的时间日期函数
一:mysql中,获取当前时间: 1:now(); :获取年月日时分秒 2:curdate() : 获取年月日 二:mysql中获取当前日期属于周几 1:返回日期date的星期索引(1=星期天,2=星 ...
- 时间转化_Excel常见时间日期函数全讲解,10个函数教你如何进行日期转化
在工作中我们经常会碰到一些需要转化或者计算时间日期的工作,这里就需要我们用到一些常见的Excel时间日期函数.今天我们就通过十个案例来教大家,如何在实际工作中对时间日期进行转化处理. 函数一.显示当前 ...
- mysql以下日期函数正确的_[数据库]MYSQL基础03(日期函数)
[数据库]MYSQL基础03(日期函数) 0 2015-10-29 01:00:09 工作中对日期的处理是经常遇到的,需求可能多种多样,因此重点介绍. 1.获取当前日期select NOW()-- 结 ...
- MySQL中时间日期类型的使用
一.MySQL中 日期和时间类型 参考 MySQL 数据类型(还有其他知识) 参考 SQL 数据类型 表示时间值的日期和时间类型为 DATETIME.DATE.TIMESTAMP.TIME和YEAR. ...
- Sybase时间日期函数
http://yangkun0318.blog.163.com/blog/static/131809433201031295947642/ Sybase时间日期函数 2010-04-12 09:59: ...
- R语言-时间日期函数
R语言时间日期函数 1. 返回当前日期时间,有两种方式: Sys.time() date() 举例 format(Sys.time(), "%a %b %d %X %Y %Z")# ...
- PostgreSQL的时间/日期函数使用
PostgreSQL的常用时间函数使用整理如下: 一.获取系统时间函数 1.1 获取当前完整时间 select now(); david=# select now();now ------------ ...
- 面试官问:mysql中时间日期类型和字符串类型的选择
摘要:MySQL中有多种表示时间日期的数据类型,主要有YEAR.TIME.DATE.DATETIME.TIMESTAMP等 本文分享自华为云社区<一针见血,mysql中时间日期类型和字符串类型的 ...
- 收集SQLite中的时间日期函数[ZT]
声明:文章摘自:http://www.xueit.com/html/2009-02/27_649_00.html 在插入数据时为了插入时间,我自己用了这个方法在数据库中: sql = "IN ...
最新文章
- WindowManager如何被Android深度解析(2)
- Linux 内核网络协议栈运行原理
- OS / Linux / Inode 详解
- javascript --- [小练习]变量提升、优先级综合
- matlab中tsne函数,t-Distributed Stochastic Neighbor Embedding
- 答案 石头剪刀布 编码过程 0912
- 用并发队列(ConcurrentQueue)实现多线程任务中随时异步回调进度通知(.Net4.0)
- matlab cnn 识别苹果,CNNmatlab cnn卷积神经网络用于手写数字识别 - 下载 - 搜珍网
- 彻底阻止、禁用google chrome浏览器自动更新、升级
- vue @click.native和@click.stop和@click.self
- 漏洞修复:javascript框架库漏洞
- 开源的网络服务框架:Apache Etch 1.4.0 发布
- UVA1665 Islands (并查集)
- 信安数学/网安数学——证明形如4k-1的素数有无限个
- su域名是什么?su域名的历程是怎样的?
- 104道 CSS 面试题,助你查漏补缺(上)
- gojs拓扑图实现节点外围圆环按钮
- Smart200与200PLC转以太网无需编程实现以太网数据交换
- 【Kubernetes | Pod 系列】Pod 的基本管理(2)——对 Pod 的查询
- 光通量,光强,亮度,照度
热门文章
- final、finally、finally
- 外贸邮箱应该如何选择,用哪个比较好
- 静态时序时序分析-前言(Preface)
- 小白必看!您知道如何判断两台机器是否能正常通信吗?详解IP地址组成,网络地址和主机地址的区分!...
- 中国眼动追踪市场趋势报告、技术动态创新及市场预测
- 如何把密度函数化为标准正态二维分布_概率ch3_2 边缘分布
- 图像处理-线性滤波-1 基础(相关算子、卷积算子、边缘效应)
- SQL获取上个月1号,本月1号,下个月1号,本月天数 [sql语句]
- deppin 15 u盘制作
- 一个优秀IT专家的成长历程