mysql的日期差值按天表示_mysql取得日期值的一些函数使用示例(前一天,某一天,日期差值)...

mysql取得日期值的一些函数使用示例。

(1)取得当前日期:

mysql> SELECT curdate();

+------------+

| curdate()  |

+------------+

| 2017-02-28 |

+------------+

下面的两个时间函数等同于 curtime():

current_time()

current_time

(2)mysql取得当前日期+时间:

mysql> select now();

+---------------------+

| now()               |

+---------------------+

| 2017-02-28 22:10:40 |

+---------------------+

除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数:

current_timestamp()   current_timestamp

localtime()   localtime

localtimestamp()   localtimestamp

这些日期时间函数,都等同于 now()。鉴于 now() 函数简短易记,建议总是使用 now() 来替代上面列出的函数。

另外 sysdate() 日期时间函数获取值的格式和 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值。

(3)取得前一天:

mysql> select date_sub(curdate(),interval 1 day);

+------------------------------------+

| date_sub(curdate(),interval 1 day) |

+------------------------------------+

| 2017-02-28                         |

+------------------------------------+

括号中为当天时间的前一天,如果统计前几天就将括号中的’1’改成相应的天数。如果要算月或年,直接将day改为month或year即可。

(4)取得前一天的年份:

mysql> SELECT YEAR(DATE_SUB(CURDATE(),INTERVAL 1 DAY));

+------------------------------------------+

| YEAR(DATE_SUB(CURDATE(),INTERVAL 1 DAY)) |

+------------------------------------------+

|                                     2017 |

+------------------------------------------+

date_sub()函数的例子:

date_sub('2017-02-25',interval 1 day) 表示 2017-02-24

date_sub('2017-02-25',interval 0 day) 表示 2017-02-25

date_sub('2017-02-25',interval -1 day) 表示 2017-02-26

date_sub('2017-02-31',interval -1 day) 表示 2012-06-01

date_sub(curdate(),interval 1 day) 表示 2013-05-19

date_sub(curdate(),interval -1 day) 表示 2013-05-21

date_sub(curdate(),interval 1 month) 表示 2013-04-20

date_sub(curdate(),interval -1 month) 表示 2013-06-20

date_sub(curdate(),interval 1 year) 表示 2017-02-20

date_sub(curdate(),interval -1 year) 表示 2014-05-20

(5)MySQL 取得日期、时间相减后的差值。

datediff(date1,date2), timediff(time1,time2)

MySQL datediff(date1,date2):两个日期相减 date1 - date2,返回天数。

select datediff('2008-08-08', '2008-08-01'); -- 7

select datediff('2008-08-01', '2008-08-08'); -- -7

MySQL timediff(time1,time2):两个时间相减 time1 - time2,返回 time 差值。

select timediff('2008-08-08 08:08:08', '2008-08-08 00:00:00'); -- 08:08:08

select timediff('08:08:08', '00:00:00'); -- 08:08:08

注意:timediff(time1,time2) 函数的两个参数类型必须相同。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值