MySQL Datetime 默认函数
MySQL是一种广泛使用的关系型数据库管理系统。它支持多种数据类型和函数,其中datetime是一种用于存储日期和时间值的数据类型。MySQL提供了一些默认函数,用于操作和处理datetime类型的数据。本文将介绍一些常用的MySQL datetime默认函数,并提供代码示例来演示它们的用法。
1. NOW()
NOW()
函数返回当前日期和时间的值。它不需要任何参数,可以在任何需要日期和时间值的地方使用。
SELECT NOW();
这将返回一个类似于2022-01-01 12:34:56
的结果,表示当前日期和时间。
2. CURDATE() 和 CURTIME()
CURDATE()
函数返回当前日期的值,而CURTIME()
函数返回当前时间的值。它们也不需要任何参数。
SELECT CURDATE();
SELECT CURTIME();
这些函数将分别返回当前日期和时间的值,例如2022-01-01
和12:34:56
。
3. DATE()
DATE()
函数从datetime值中提取日期部分,并返回一个日期值。
SELECT DATE('2022-01-01 12:34:56');
这将返回一个日期值2022-01-01
。
4. TIME()
TIME()
函数从datetime值中提取时间部分,并返回一个时间值。
SELECT TIME('2022-01-01 12:34:56');
这将返回一个时间值12:34:56
。
5. YEAR() 和 MONTH() 和 DAY()
YEAR()
函数返回一个datetime值的年份部分,MONTH()
函数返回月份部分,DAY()
函数返回日期部分。
SELECT YEAR('2022-01-01 12:34:56');
SELECT MONTH('2022-01-01 12:34:56');
SELECT DAY('2022-01-01 12:34:56');
这些函数将分别返回2022
、01
和01
。
6. HOUR() 和 MINUTE() 和 SECOND()
HOUR()
函数返回一个datetime值的小时部分,MINUTE()
函数返回分钟部分,SECOND()
函数返回秒部分。
SELECT HOUR('2022-01-01 12:34:56');
SELECT MINUTE('2022-01-01 12:34:56');
SELECT SECOND('2022-01-01 12:34:56');
这些函数将分别返回12
、34
和56
。
7. DATE_FORMAT()
DATE_FORMAT()
函数可以将datetime值转换为特定格式的字符串。
SELECT DATE_FORMAT('2022-01-01 12:34:56', '%Y-%m-%d');
这将返回一个格式化后的字符串2022-01-01
。
可以使用不同的格式代码来定义所需的格式,例如%Y
表示年份,%m
表示月份,%d
表示日期,%H
表示小时,%i
表示分钟,%s
表示秒等。
8. ADDDATE() 和 SUBDATE()
ADDDATE()
函数用于将日期加上一个指定的时间间隔,而SUBDATE()
函数用于从日期中减去一个指定的时间间隔。
SELECT ADDDATE('2022-01-01', INTERVAL 1 DAY);
SELECT SUBDATE('2022-01-01', INTERVAL 1 DAY);
第一个查询将返回2022-01-02
,而第二个查询将返回2021-12-31
。
9. DATEDIFF()
DATEDIFF()
函数可以计算两个日期之间的天数差。
SELECT DATEDIFF('2022-01-01', '2021-12-31');
这将返回一个差值为1的整数。
示例关系图:
erDiagram
NOW() -- CURDATE(): returns current date
NOW() -- CURTIME(): returns current time
DATE() -- YEAR(): extracts year
DATE() -- MONTH(): extracts month
DATE() -- DAY(): extracts day
TIME() -- HOUR(): extracts hour
TIME() -- MINUTE(): extracts minute
TIME() -- SECOND(): extracts second
DATE_FORMAT() -- ADDDATE(): adds interval
DATE_FORMAT() -- SUBDATE(): subtracts interval
DATEDIFF() -- ADDDATE(): adds interval
DATEDIFF() -- SUBDATE(): subtracts interval
示例旅行图:
jour