以下是 MySQL 中一些常用的日期和时间函数,包括它们的用法、参数类型和期望的结果。
返回当前日期和时间。
参数:无
结果类型:DATETIME
示例:
SELECT NOW(); -- 结果: '2023-04-01 12:45:31' (取决于查询时的实际日期和时间) 返回当前日期。
参数:无
结果类型:DATE
示例:
SELECT CURDATE(); -- 结果: '2023-04-01' (取决于查询时的实际日期) 返回当前时间。
参数:无
结果类型:TIME
示例:
SELECT CURTIME(); -- 结果: '12:45:31' (取决于查询时的实际时间) 在日期 date 上加上一个时间间隔 expr。
参数:date 是一个日期或日期时间表达式;expr 是你希望添加的时间间隔数值;type 是间隔的类型(比如,DAY, MONTH, YEAR, HOUR, 等)。
结果类型:与 date 参数类型相同
示例:
SELECT DATE_ADD('2023-04-01', INTERVAL 1 DAY); -- 结结果: '2023-04-02' 从日期 date 中减去一个时间间隔 expr。
参数:与 DATE_ADD 相同。
结果类型:与 date 参数类型相同
示例:
SELECT DATE_SUB('2023-04-01', INTERVAL 1 MONTH); -- 结果: '2023-03-01' 返回两个日期之间的天数差。
参数:expr1 和 expr2 都是日期表达式。
结果类型:INT
示例:
SELECT DATEDIFF('2023-04-01', '2023-01-01'); -- 结果: 90 从日期 date 中提取年份。
参数:date 是日期或日期时间表达式。
结果类型:INT
示例:
SELECT YEAR('2023-04-01'); -- 结果: 2023 从日期 date 中提取月份。
参数:与 YEAR 相同。
结果类型:INT
示例:
SELECT MONTH('2023-04-01'); -- 结果: 4 从日期 date 中提取天。
参数:与 YEAR 相同。
结果类型:INT
示例:
SELECT DAY('2023-04-01'); -- 结果: 1 从时间 time 中提取小时部分。
参数:time 是时间或日期时间表达式。
结果类型:INT
示例:
SELECT HOUR('12:45:31'); -- 结果: 12 从时间 time 中提取分钟部分。
参数:与 HOUR 相同。
结果类型:INT
示例:
SELECT MINUTE('12:45:31'); -- 结果: 45 从时间 time 中提取秒部分。
参数:与 HOUR 相同。
结果类型:INT
示例:
SELECT SECOND('12:45:31'); -- 结果: 31 请注意,以上结果取决于实际查询执行的时间和日期。在实际的数据库操作中,通常会使用列名作为参数,而不是直接使用硬编码的日期或时间值。例如:
SELECT YEAR(birthdate) FROM employees; 这将返回 employees 表中每位员工的 birthdate 列的年份。日期和时间函数在处理数据时非常有用,特别是当你需要对日期和时间进行操作或计算时。