zoukankan      html  css  js  c++  java
  • mysql加减时间-函数-时间加减

    select timediff('23:40:00', ' 18:30:00'); -- 两时间相减
    SELECT   substring( timediff('23:40:00', ' 18:30:00'),1,5) ----“0510”相减返回小时:分钟
    select datediff('2008-08-08', '2008-08-01'); -- 7      -----两日期相减
    select TO_DAYS('2008-09-08')-TO_DAYS('2008-08-08')     -----两日期相减
    
    SELECT   substring( '2009-06-17 10:00:00',   1,   10   )   ----从datetime中提取“日期”
    
    (*********************
    
    时间戳是从1970年1月1日开始到目标时间所经过的秒数.
                                     可以进行两个datetime时间间隔的运算******************************)

    mysql设置两个日期格式相减的方式:

      

    MySql计算两个日期时间的差函数:

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

    SELECT TIMESTAMPDIFF(DAY,'2012-10-01','2013-01-13');
    

      返回结果是104,这里比较的是两个时间的天数差;

    SELECT TIMESTAMPDIFF(MONTH,'2012-10-01','2013-01-13');

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

     

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

    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

    datediff()两个日期相减函数

    2

    1. <pre name="code" class="sql">SELECT TIMESTAMPDIFF(MINUTE,NOW(),flowExpireDate)AS minsRemaining FROM FlowDealOrders WHERE SN='172150210001156' AND orderStatus='使用中' AND sysStatus=1  
    2.   
    3. mysql中可使用TIMESTAMPDIFF函数   
    4. 格式为 TIMESTAMPDIFF(显示时间格式,开始时间,结束时间)  
    5. 第一个属性还可以是:小时、分钟、秒等等

    3、

    、MySQL中两个DateTime字段相减
    
    假定表名为tblName,两个DateTime字段名分别为beginDateTime,endDateTime,以下是相关两个mysql日期字段相减的SQL语句,这种方式两字段跨天,月,年都无问题。
    
    得到两个日期字段之间的秒数
    
    selec t (UNIX_TIMESTAMP(endDateTime) - UNIX_TIMESTAMP(beginDateTime)) dif_second from tblName
    
    得到两个日期字段之间的分数
    
    selec t (UNIX_TIMESTAMP(endDateTime) - UNIX_TIMESTAMP(beginDateTime))/60 dif_minute from tblName
    
    得到两个日期字段之间的天数
    
    selec t (UNIX_TIMESTAMP(endDateTime) - UNIX_TIMESTAMP(beginDateTime))/(60*60*24) dif_minute from tblName
    
    二、MySQL中两个Time字段相减
    
    如果两个字段都为Time类型,如果两个时间都在同一天,相减可以得到相差的秒数,但如果跨天,月,年都有问题。
    
    selec t (TIME_TO_SEC(endDateTime) - TIME_TO_SEC(beginDateTime)) dif_second from tblName
  • 相关阅读:
    MySQL query_cache_type 详解
    MySQL validate_password 插件
    MySQL冷备份的跨操作系统还原
    MySQL5.7新特性笔记
    MySQL参数详解
    保存mysql用户的登录信息到~.my.cnf文件;用于方便登录操作。
    MySQL应用层传输协议分析
    python egg
    MySQL 加锁处理分析
    train_test_split, 关于随机抽样和分层抽样
  • 原文地址:https://www.cnblogs.com/a8457013/p/9074874.html
Copyright © 2011-2022 走看看