zoukankan      html  css  js  c++  java
  • mysql中计算日期整数差

    TIMESTAMPDIFF

    语法:

    TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) : 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差

    interval:间隔

    FRAC_SECOND。表示间隔是毫秒
    SECOND。秒
    MINUTE。分钟
    HOUR。小时
    DAY。天
    WEEK。星期
    MONTH。月
    QUARTER。季度
    YEAR。年

    datetime_expr1 开始时间

    datetime_expr2 结束时间

    SELECT TIMESTAMPDIFF(DAY , NOW(),'2018-06-22') day, NOW()
    day   NOW()
    1    2018-06-20 09:40:44

    这里刚开始觉得有点奇怪,now是20号,用22-20=2  应该是相差两天,为什么查出来是相差1天。

    但是如果这样查

    SELECT TIMESTAMPDIFF(DAY , NOW(),'2018-06-22 10:00:00') day, NOW()
    day    NOW()
    2    2018-06-20 09:45:40

    这样就是相差两天了!

    有个相对应的函数 

    TIMESTAMPADD

    语法:

    TIMESTAMPADD(interval,int_expr,datetime_expr) : 将整型表达式int_expr 添加到日期或日期时间表达式 datetime_expr中

    interval :间隔

    FRAC_SECOND。表示间隔是毫秒
    SECOND。秒
    MINUTE。分钟
    HOUR。小时
    DAY。天
    WEEK。星期
    MONTH。月
    QUARTER。季度
    YEAR。年

    int_expr 整型表达式

    在月中,有些月有31天的 eg:

    SELECT TIMESTAMPADD(MONTH , 2,'2018-05-31') DAY
    DAY
    2018-07-31

    但是有些是30天,结果则是:

    SELECT TIMESTAMPADD(MONTH , 1,'2018-05-31') DAY
    DAY
    2018-06-30

     

  • 相关阅读:
    JS中的constructor与prototype
    HTTP状态码
    CSS HACK 及常见问题
    js常见怪异
    js深拷贝和浅拷贝
    浏览器渲染
    google全球地址大全
    从function前面的!想到的
    2048
    js判定IE
  • 原文地址:https://www.cnblogs.com/hellokitty1/p/9202387.html
Copyright © 2011-2022 走看看