数据库日期运算函数及Type值详解

数据库日期运算函数及Type的期望值

函数DATE_ADD()DATE_SUB()

前言

  • 在MySQL数据库中,我们经常使用日期函数,基本上创建一个数据库(非测试),我们对日期的使用都是必不可少的,下面我就说一下MySQL数据库中的日期运算函数以及函数中的Type和它对应的期望值

知识点

  • MySQL数据库中的NOW()函数,返回当前系统设置的日期和时间,所以使用这个函数时,若是计算机的时钟不准确的话,那么这个函数返回的时间也是错误的。

    SELECT NOW();
    

    数据库日期运算函数及Type值详解_第1张图片

  • 当然MySQL中也有返回当前日期的函数,如:CURDATE()CURRENT_DATE()

日期运算函数

MySQL提供给我们的日期运算函数有两个:

  1. DATE_ADD()函数。

    使用格式如下:

    DATE_ADD(date,INTERVAL,expression type)

  2. DATE_SUB()函数。

    使用格式如下:

    DATE_SUB(date,INTERVAL,expression type)

其中,date 参数是合法的日期表达式,INTERVAL是关键字,expression 参数是您希望添加的时间间隔 。


演示一下用法(以减少天数为例):

//用DATE_SUB减少天数,系统时间是:2018年12月1日
//减少12天

SELECT DATE_SUB(NOW(),INTERVAL 12 DAY);

数据库日期运算函数及Type值详解_第2张图片


可以看到我减少的是天数,所以使用的是type值是DAY,下面我就来说一下type其他可能的取值。

type和对应的期望值

Type 期望的值(字符串形式) 例子
microsecond microseconds ‘10’
second seconds ‘10’
minute minutes ‘10’
day days ‘10’
week weeks ‘10’
month months ‘10’
quarter quarters ‘2’
year years ‘10’
second_microsecond seconds.microseconds ‘10.10’
minute_microsecond minutes.microseconds ‘10.10’
minute_second minutes:seconds ‘10:10’
hour_microsecond hours.microseconds ‘10.10’
hour_second hours:minutes:seconds ‘10:10:10’
hour_minute hours:minutes ‘10:10’
day_microsecond days.microseconds ‘10.10’
day_second days hours:minutes:seconds ‘10 10:10:10’
day_minute days hours:minutes ‘10 10:10’
day_hour days hours ‘10 10’
year_month years-months ‘1000-10’

从MySQL3.23版开始,MySQL就支持使用加号(+)和减号(-)来对日期进行加减操作。

//对日期使用减号操作,当前系统日期为2018年12月1日

SELECT NOW() - INTERVAL 12 DAY;

数据库日期运算函数及Type值详解_第3张图片

其实,在关键字INTERVAL后面的值可以是任何表达式,只要他返回的结果符合上面表中所列格式的字符串。

你可能感兴趣的:(数据库,SYW)