一、为什么要使用日期函数
通过使用这些日期函数,可以轻松地进行日期和时间的计算、比较和格式化,使得对日期数据的处理更加简便和灵活。
二、常见的日期函数及使用
1、CURDATE()函数
CURDATE()返回返回当前日期,只包含年、月、日部分,使用示例如下:
select CURDATE()
2、CURTIME()函数
CURTIME()函数用于返回当前时间,只包含时、分、秒部分,使用示例如下:
select CURTIME()
3、NOW()函数
NOW()函数用于返回当前日期和时间,包含年、月、日、时、分、秒,使用示例如下:
select NOW()
4、UNIX_TIMESTAMP(date)函数
将date转化为UNIX时间戳,使用示例如下:
select UNIX_TIMESTAMP(NOW()) #当前时间的时间戳
select UNIX_TIMESTAMP('2022-01-12') #2022-01-12的时间戳
5、FROM_UNIXTIME(timestamp)函数
FROM_UNIXTIME(timestamp)函数将UNIX时间戳转化为日期时间,与UNIX_TIMESTAMP(date)函数互为反函数,使用示例如下:
select FROM_UNIXTIME(1234567)
6、YEAR(date)函数
YEAR(date)函数用于返回日期所在的年份,取值返回为1970~2069,使用示例如下:
select YEAR(NOW())
7、MONTH(date)函数
MONTH(date)函数用于返回日期对应的月份,取值返回为1~12,使用示例如下:
select MONTH(NOW())
8、DAY(date)函数
DAY(date)函数只返回日期,使用示例如下:
select DAY(NOW())
9、WEEK(date)函数
WEEK(date)函数返回给定日期是一年中的第几周,使用示例如下:
select WEEK(NOW())
10、DAYOFYEAR(date)函数
DAYOFYEAR(date)函数返回日期是一年中的第几天,使用示例如下:
select DAYOFYEAR(NOW())
11、DAYOFMONTH(date)函数
DAYOFMONTH(date)函数返回日期位于所在月份的第几天。使用示例如下:
select DAYOFMONTH(NOW())
12、QUARTER(date)函数
QUARTER(date)函数返回日期对应的季度,使用示例如下:
select QUARTER(NOW())
13、EXTRACT(type FROM date)函数
EXTRACT(type FROM date)函数返回指定日期中特定的部分,type指定返回的值。其中,type的取值如表所示。
使用示例如下:
14、DATEDIFF(date1,date2)函数
DATEDIFF(date1,date2)函数计算两个日期之间相差的天数,使用示例如下:
select DATEDIFF(NOW(),'2023-1-1')
15、LAST_DAY(date)函数
LAST_DAY(date)函数返回date所在月份的最后一天的日期,使用示例如下:
select LAST_DAY(NOW())
三、总结
函数 | 作用 |
---|---|
NOW() | 返回当前的日期和时间 |
CURDATE() | 返回当前的日期 |
CURTIME() | 返回当前的时间 |
DATE() | 从日期时间值中提取日期部分 |
TIME() | 从日期时间值中提取时间部分 |
YEAR() | 从日期值中提取年份 |
MONTH() | 从日期值中提取月份 |
DAY() | 从日期值中提取天数 |
HOUR() | 从时间值中提取小时数 |
MINUTE() | 从时间值中提取分钟数 |
SECOND() | 从时间值中提取秒数 |
DATE_FORMAT() | 将日期或时间值按照指定的格式进行格式化 |