请问mysql的sql中如何计算两个datetime的差,精确到小时,谢谢

TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。该参数必须是以下值的其中一个:FRAC_SECOND 表示间隔是毫秒SECOND 秒MINUTE 分钟HOUR 小时DAY 天WEEK 星期MONTH 月QUARTER ...
请问mysql的sql中如何计算两个datetime的差,精确到小时,谢谢
TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)
www.2cto.com
说明:
返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的
单位由interval 参数给出。interval 的法定值同TIMESTAMPADD()函数说明中所列出的相同。

SELECT TIMESTAMPDIFF(MONTH,'2009-10-01','2009-09-01');
interval可是:
SECOND 秒 SECONDS
MINUTE 分钟 MINUTES
HOUR 时间 HOURS
DAY 天 DAYS
MONTH 月 MONTHS
YEAR 年 YEARS2014-03-04
TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。该参数必须是以下值的其中一个:FRAC_SECOND 表示间隔是毫秒SECOND 秒MINUTE 分钟HOUR 小时DAY 天WEEK 星期MONTH 月QUARTER 季度YEAR 年SELECT '年' AS `日期部分`, TIMESTAMPDIFF(YEAR, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`UNION ALLSELECT '季度' AS `日期部分`, TIMESTAMPDIFF(QUARTER, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`UNION ALLSELECT '月' AS `日期部分`, TIMESTAMPDIFF(MONTH, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`UNION ALLSELECT '日' AS `日期部分`, TIMESTAMPDIFF(DAY, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`UNION ALLSELECT '周' AS `日期部分`, TIMESTAMPDIFF(WEEK, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`UNION ALLSELECT '时' AS `日期部分`, TIMESTAMPDIFF(HOUR, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`UNION ALLSELECT '分' AS `日期部分`, TIMESTAMPDIFF(MINUTE, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`UNION ALLSELECT '秒' AS `日期部分`, TIMESTAMPDIFF(SECOND, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`;+----------+----------+| 日期部分 | 数值 |+----------+----------+| 年 | 1 || 季度 | 4 || 月 | 12 || 日 | 388 || 周 | 55 || 时 | 9328 || 分 | 559737 || 秒 | 33584279 |+----------+----------+8 rows in set (0.00 sec)mysql> select CURRENT_TIMESTAMP();+---------------------+| CURRENT_TIMESTAMP() |+---------------------+| 2014-01-13 16:58:17 |+---------------------+1 row in set (0.00 sec)2014-03-04
精确到小时
select TIMESTAMPDIFF(Hour,'2014-01-01 14:00','2014-01-01 16:00');
精确到分钟
select TIMESTAMPDIFF(MINUTE,'2014-01-01 14:00','2014-01-01 16:00')2014-03-04
mengvlog 阅读 38 次 更新于 2025-09-09 11:22:29 我来答关注问题0
  •  湖北倍领科技 MySQL 怎么用SQL语句写:按学号列出每个学生所选修课程中最高分的课程名称及其分数

    首先,我们通过子查询找出每个学生在各个课程中的最高分数。具体来说,子查询(select max(分数) 最高分,学号 from 表名 group by 学号)将按学号分组,计算出每个学号对应的最高分数。然后,主查询通过将子查询的结果与原表进行连接(where B.学号=A.学号 AND B.分数=A.最高分),找出与最高分...

  •  腾云新分享 mysql中的count(*)

    sql = "SELECT COUNT(*) as c FROM forum_user";这条SQL语句会统计forum_user表中的所有记录数,并将结果作为一个名为的列返回。执行这条SQL语句后,会返回一个结果集。为了获取这个结果集中的记录数,需要使用MySQL函数mysql_query来执行SQL语句,然后使用mysql_result函数从结果集中提取具体的数值。...

  •  阿暄生活 如何用sql查询某表一列中满足条件的记录加总?

    方法一:使用SUBSTR函数,语法为:SELECT SUBSTR(aa,5,1), COUNT(*) FROM a GROUP BY 1 方法二:使用MID函数,语法为:SELECT MID(aa,5,1), COUNT(*) FROM a GROUP BY 1 这两个函数都可以帮助我们从"aa"列的每个记录中提取第五个字符,并统计满足条件的记录数量。SUBSTR是SQL标准中的函数...

  •  翡希信息咨询 一条SQL语句在MySQL中是如何执行的?

    语法分析:通过yacc语法分析器,检查SQL语句是否符合语法规则,如单引号是否闭合等。解析完成后,将SQL语句转换成解析树(select_lex)对象。预处理:根据MySQL的语法规则对解析树对象进行合法性检查,如检查表名、列名是否存在,确保没有歧义。预处理后得到一个新的解析树。优化器生成执行计划:成本计算:优...

  • AVG(列名)例如,我们要计算一个列中数值的平均值,可以使用下面的SQL查询:SELECT AVG(列名) FROM 表名;其中,“列名”是我们要计算平均值的列名称,“表名”是包含列的表的名称。样例 让我们接下来看下以下样例来进一步学习AVG函数在MySQL中的用法。假设我们有一个存储着员工工资的表,名为emp_...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部