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

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

函数DATE_ADD()DATE_SUB()

前言

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

知识点

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

    SELECT NOW();
    

    运行结果图

  • 当然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);

DATE_SUB()用法运行图


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

type和对应的期望值

Type期望的值(字符串形式)例子
microsecondmicroseconds‘10’
secondseconds‘10’
minuteminutes‘10’
daydays‘10’
weekweeks‘10’
monthmonths‘10’
quarterquarters‘2’
yearyears‘10’
second_microsecondseconds.microseconds‘10.10’
minute_microsecondminutes.microseconds‘10.10’
minute_secondminutes:seconds‘10:10’
hour_microsecondhours.microseconds‘10.10’
hour_secondhours:minutes:seconds‘10:10:10’
hour_minutehours:minutes‘10:10’
day_microseconddays.microseconds‘10.10’
day_seconddays hours:minutes:seconds‘10 10:10:10’
day_minutedays hours:minutes‘10 10:10’
day_hourdays hours‘10 10’
year_monthyears-months‘1000-10’

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

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

SELECT NOW() - INTERVAL 12 DAY;

减号操作结果图

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值