如何使用mysql计算两个日期之间的时间差

作者&投稿:豆卢隶 (若有异议请与网页底部的电邮联系)
在MYSQL里,如何计算两个日期间的时间差,并已年月形式显示。~

不考虑 “天”的因素:
select if(month(d2)-month(d1)>0,
concat(year(d2)-year(d1),'年',month(d2)-month(d1),'月'),
concat(year(d2)-year(d1)-1,'年',month(d2)-month(d1)+12,'月')) as r from xxxxx
----------------------------------------------------------------------------------------------------------
例子:
d1='2013-05-13'
d2='2014-07-13'

select if(month('2014-07-13')-month('2013-05-13')>0,
concat(year('2014-07-13')-year('2013-05-13'),'年',month('2014-07-13')-month('2013-05-13'),'月'),
concat(year('2014-07-13')-year('2013-05-13')-1,'年',month('2014-07-13')-month('2013-05-13')+12,'月')) as r
结果:1年2月
=================================================================
d1='2013-05-13'
d2='2014-01-13'

select if(month('2014-01-13')-month('2013-05-13')>0,
concat(year('2014-01-13')-year('2013-05-13'),'年',month('2014-01-13')-month('2013-05-13'),'月'),
concat(year('2014-01-13')-year('2013-05-13')-1,'年',month('2014-01-13')-month('2013-05-13')+12,'月')) as r
结果:0年8月

select dealuserid,sum(dealdate)/count(dealuserid) as 平均 from tb_e_other order by dealuserid

MySql计算两个日期时间的差函数:
第一种:TIMESTAMPDIFF函数,需要传入三个参数,第一个是比较的类型,可以比较FRAC_SECOND、SECOND、 MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER或 YEAR几种类型,第二个和第三个参数是待比较的两个时间,比较是后一个时间减前一个时间,具体用法如下:

[sql] view plain copy
SELECT TIMESTAMPDIFF(DAY,'2012-10-01','2013-01-13');
返回结果是104,这里比较的是两个时间的天数差;

[sql] view plain copy
SELECT TIMESTAMPDIFF(MONTH,'2012-10-01','2013-01-13');

这里比较的是两个时间的月份,返回的结果是3;

第二种方法: DATEDIFF函数,就传入两个日期函数,比较的DAY天数,第一个参数减去第二个参数的天数值,具体用法如下:

[sql] view plain copy
SELECT DATEDIFF('2013-01-13','2012-10-01');
返回的结果也是104。

另外其它的日期函数,
now()函数返回的是当前时间的年月日时分秒,如:2008-12-29 16:25:46
CURDATE()函数返回的是年月日信息: 如:2008-12-29
CURTIME()函数返回的是当前时间的时分秒信息,如:16:25:46
另外,如果我们想对一个包含年月日时分秒日期格式化成年月日日期,可以使用DATE(time)函数,如
DATE(now()) 返回的是 2008-12-29

可以转换时间戳相减结果转换回去即可


1006掌控MySQL轻松玩转数据库1006mysql
如果想要在本地使用MySQL,需要先进行MySQL的安装与配置。可以通过以下步骤实现:1. 下载MySQL安装包并解压 2. 运行安装程序并按照提示安装 3. 进行MySQL的配置,包括设置root用户密码、修改数据存放路径等。4. 启动MySQL服务。可以通过以下命令启动MySQL:sudo \/etc\/init.d\/mysql start sudo systemctl st...

MySQL一天数据库学习计划mysql一天
2. 安装MySQL 安装MySQL是学习MySQL的重要一步。可以从MySQL官网(https:\/\/www.mysql.com\/)下载适合自己系统的版本。在Windows系统中,只需点击下载后的可执行文件,按提示安装即可。3. 配置MySQL环境 成功安装MySQL后,需要进行MySQL环境配置,以便能够顺利地使用MySQL。主要包括设置路径、安装相关插件和工...

MySQL中explan的使用方法及优化技巧mysql中explan
(1)选择合适的查询方式 根据查询条件的复杂度和数据量的大小,选择合适的查询方式,如使用索引、分区等。(2)减少查询结果集 根据实际需要,尽量减小查询结果集的大小,减少不必要的字段查询。(3)避免使用子查询 避免使用子查询,可以通过使用联合查询等方式代替。(4)正确配置MySQL数据库 正确配置MyS...

给MySQL添加索引优化查询效率6mysql索引
1. 确定需要添加索引的列 在确定需要添加索引的列之前,可以使用“EXPLN”语句来查看查询的执行计划。执行计划将显示MySQL将如何执行查询。在执行计划中,可以看到MySQL使用的是哪些索引,哪些表将被扫描,以及查询的执行顺序。如果查询优化器没有选择合适的索引,可以决定为特定的列添加索引。2. 创建索引 ...

MySQL EXPLAIN详解
Extra: Using where; Using temporary; Using filesort 表示使用了WHERE子句过滤,需要使用临时表进行排序。type: ref 表示使用了索引进行等值比较。rows: 1 表示MySQL估计需要检索1行。filtered: 100.00 表示过滤效果好。Extra: Using where 表示使用了WHERE子句过滤。执行EXPLAIN语句后,输出结果中的字段...

MySQL中xplan详解让你更深入理解执行计划优化MySQL中xplan
4. 返回结果集。xplan命令详解 xplan是MySQL执行计划详解工具之一,可以帮助开发人员更深入了解MySQL执行计划的选择过程。它可以用于分析和比较不同类型的查询,显示关于每个执行计划的详细信息和成本估算。在具体使用过程中,可以通过以下命令使用xplan:EXPLN [options] SELECT …;其中,options为EXPLN的...

怎么使用Mysql Workbench 查询mysql数据库
具体语法:TABLE table_name [ORDER BY column_name] [LIMIT number [OFFSET number]]其实从语法上看,可以排序,也可以过滤记录集,不过比较简单,没有 SELECT 那么强大。示例 1 简单的建一张很小的表 y1,记录数为 10 条。表 t1,插入 10 条记录 mysql-(ytt\/3305)->create table t1 (r1 ...

MySql中如何使用explain查询SQL的执行计划
下面我们使用 explain 做一个查询,如下:mysql> explain select * from payment;+---+---+---+---+---+---+---+---+---+---+---+---+| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |+---+--...

Mysql执行计划功能详解
在Mysql调优过程中其中最关键的一点,就是正确使用执行计划,从而查看SQL语句的具体执行过程和参数指标,来具体场景具体分析,来达到优化SQL语句的执行效率的效果 id select查询的序列号,包含一组数字,表示查询中执行select子句或者操作表的顺序 1、如果id相同,那么执行顺序从上到下 2、如果id不...

mysql查询优化器应该怎么使用
显然,没有用到任何索引,扫描的行数为32034,cost为3243.65。mysql> explain format=json select * from t1 where rank1 =1 or rank2 = 2 or rank3 = 2\\G*** 1. row ***EXPLAIN: { "query_block": { "select_id": 1, "cost_info": { "query_cost": "3243.65...

临桂县13947119228: mysql: 如何计算指定日期到当前日期之间的天数 -
禽贸乐乐: 1、首先,我们打开软件,需要创建一个控制台应用程序,在Main方法中用来获取并输出系统当前的日期,输入:DateTime now = DateTime.Now. 2、在visual studio中按F5就可以调试模式运行程序,这个时候,就可以看到当前的日期加时间...

临桂县13947119228: MYSQL如何计算两个日期间隔天数 -
禽贸乐乐: SELECT date_a, date_b, DATEDIFF(date_a,date_b)FROM table

临桂县13947119228: mysql怎么计算两日期间隔是几天. - PHP进阶讨论
禽贸乐乐: 格式化时间 然后判断

临桂县13947119228: 用mysql数据库怎样计算2个日期字段的天数差 -
禽贸乐乐: 转为时间戳 相减以后得出秒数 在用秒数 除以86400 得出天数

临桂县13947119228: mysql 计算两个日期的时间差函数小时分钟格式 -
禽贸乐乐: 如果datetime_expr1,datetime_expr2是datetime类型的话 select time_format(timediff('2000:01:31 23:59:59', '2000:01:01 00:00:00'),'%Hh%im') 也许可以满足你的要求

临桂县13947119228: mysql中如何计算日期之差 -
禽贸乐乐: select unix_timestamp(date)-unix_timestamp(end) as '两者相差的秒数' from '表名';

临桂县13947119228: mysql 怎么算两日期相差多少分钟 -
禽贸乐乐: 用mysql的unix_timestamp函数来解决,我举个例子:select (unix_timestamp('2011-11-11 12:12:12')-unix_timestamp('2011-11-11 12:11:12'))/60------------------------------------------------------------------------------------------------------------------- mysql> select (unix...

临桂县13947119228: MYSQL怎么查询两个时间之间的日期列表 -
禽贸乐乐: 先转化为时间戳.

临桂县13947119228: MYSQL怎么查询两个时间之间的日期列表 -
禽贸乐乐: 你的日期字段存储类型是datetime吗,那就直接可以比较大小比如去2014-10-28(时分秒省略)这一天的时间段`date_time` > '2014-10-27 23:59:59' and `date_time` <...

临桂县13947119228: mysql两个日期计算天数 -
禽贸乐乐: datediff就是计算两个时间之间相差的天数,难道7842不对吗?你一天一天数数就知道了,这还有为什么!!!

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网