/**有一个需求,要求获得两个日期想减的天数,小时数,分钟数。通过查找资料,于是乎我写出了如下代码,来获得两个字段。*/

        IFNULL(CONCAT( IF(aib.`forecast_reply_time`-aib.`actual_reply_time` < 0,'-',''),
IF(FLOOR(HOUR(TIMEDIFF(aib.`forecast_reply_time`,aib.`actual_reply_time`)) / 24)=0,'', CONCAT(FLOOR(HOUR(TIMEDIFF(aib.`forecast_reply_time`,aib.`actual_reply_time`)) / 24),'天')),
IF(MOD(HOUR(TIMEDIFF(aib.`forecast_reply_time`,aib.`actual_reply_time`)), 24)=0,'',CONCAT(MOD(HOUR(TIMEDIFF(aib.`forecast_reply_time`,aib.`actual_reply_time`)), 24), '小时')),
IF(MINUTE(TIMEDIFF(aib.`forecast_reply_time`,aib.`actual_reply_time`))=0,'',CONCAT(MINUTE(TIMEDIFF(aib.`forecast_reply_time`,aib.`actual_reply_time`)), '分钟'))),"") AS stipulatedOften,
IFNULL(CONCAT(
IF(FLOOR(HOUR(TIMEDIFF(aib.`created_at`,aib.`actual_reply_time`)) / 24)=0,'', CONCAT(FLOOR(HOUR(TIMEDIFF(aib.`created_at`,aib.`actual_reply_time`)) / 24),'天')),
IF(MOD(HOUR(TIMEDIFF(aib.`created_at`,aib.`actual_reply_time`)), 24)=0,'',CONCAT(MOD(HOUR(TIMEDIFF(aib.`created_at`,aib.`actual_reply_time`)), 24), '小时')),
IF(MINUTE(TIMEDIFF(aib.`created_at`,aib.`actual_reply_time`))=0,'',CONCAT(MINUTE(TIMEDIFF(aib.`created_at`,aib.`actual_reply_time`)), '分钟'))),"") AS actualOften,
        
/**后来需求改变,用户觉得现实中文的天,小时,分钟太麻烦了,想要总共的小时数、分钟数,但是mysql的TIMEDIFF的方法,是精确到秒的,但是用户又不想要秒。于是乎我又一次进行了更改,使用到了mysql的LEFT函数和LENGTH函数进行了处理弄成了用户想要的样子*/
IFNULL(LEFT(TIMEDIFF(aib.`forecast_reply_time`,aib.`actual_reply_time`),LENGTH(TIMEDIFF(aib.`forecast_reply_time`,aib.`actual_reply_time`))-3),"") AS stipulatedOften,
IFNULL(LEFT(TIMEDIFF(aib.`actual_reply_time`,aib.`created_at`),LENGTH(TIMEDIFF(aib.`actual_reply_time`,aib.`created_at`))-3),"") AS actualOften,

mysql 中两个日期相减获得 天 小时 分钟 或者 小时:分钟的格式的更多相关文章

  1. JAVA基础学习之final关键字、遍历集合、日期类对象的使用、Math类对象的使用、Runtime类对象的使用、时间对象Date(两个日期相减)(5)

    1.final关键字和.net中的const关键字一样,是常量的修饰符,但是final还可以修饰类.方法.写法规范:常量所有字母都大写,多个单词中间用 "_"连接. 2.遍历集合A ...

  2. SQLServer的两个日期相减(间隔)datediff函数

    select datediff(year, 开始日期,结束日期); --两日期间隔年  select datediff(quarter, 开始日期,结束日期); --两日期间隔季  select da ...

  3. 日期字符串转换 and 两个日期相减

    //创建当前日期 NSDate *date = [NSDate date]; //创建日期格式类 NSDateFormatter *dateFormat = [[NSDateFormatter all ...

  4. MySQL 相邻两条数据相减

    <!-- 计算每两次消费的间隔天数 --> SELECT B.MEN_ID,TIMESTAMPDIFF(DAY,B.PRE_DATE,B.CURR_DATE) AS DAYS FROM ( ...

  5. js两个日期相减

    function dateHanle(d1,d2){ if(Date.parse(d1) - Date.parse(d2)==0) { console.log("d1等于d2"); ...

  6. mysql 中时间和日期函数应用

    一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +-------------------- ...

  7. mysql 中 时间和日期函数

    From: http://www.cnblogs.com/redfox241/archive/2009/07/23/1529092.html 一.MySQL 获得当前日期时间 函数 1.1 获得当前日 ...

  8. JS两日期相减

    JS两日期相减,主要用到下面两个方法 dateObject.setFullYear(year,month,day) 方法 stringObject.split(separator) 方法 functi ...

  9. mysql日期相减取小时

    mysql日期相减取小时 TIMESTAMPDIFF(HOUR,a.StartTime,a.EndTime)

随机推荐

  1. SciPy 插值

    章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...

  2. SelectList类的构造函数

    SelectList类的构造函数 2016年05月23日 17:29:52 FrankyJson 阅读数 272 标签: MVC函数 更多 个人分类: MVC   SelectList 构造函数 (I ...

  3. python format使用方法

    #使用format 方法进行格式化 print("The number {1:} in hex is: {1:#x}, the number {0:} in oct is {0:o}&quo ...

  4. 剑指offer 把字符串转化为整数

    题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法 ...

  5. Git内部原理探索

    目录 前言 Git分区 .git版本库里的文件/目录是干什么的 Git是如何存储文件信息的 当我们执行git add.git commit时,Git背后做了什么 Git分支的本质是什么 HEAD引用 ...

  6. javascript中call与this的初见

    call定义 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明:call 方法可以用来代替另一 ...

  7. c# GlobalAddAtom GlobalDeleteAtom

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  8. JAVA 使用模板创建DOCX文档)(XDocService 使用报错条数过多报错链接不上服务器)

    详细解释https://xdoc.iteye.com/blog/2399451 https://xdoc.iteye.com/  导入 XDocService.jar   我说一下我遇到的问题 我从数 ...

  9. python基础数据类型--集合(set)

    python基础数据类型--集合(set) 集合是一个数学概念由一个或多个确定的元素所构成的整体叫做集合 集合中的三个特征 1.确定性(元素必须死可hash) 2.互异性(去重) 3.无序性(集合中的 ...

  10. 《ES6标准入门》(阮一峰)--7.数值的扩展

    1.二进制和八进制表示法 ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示. 0b111110111 === 503 // true 0o767 === 503 ...