MySQL数据类型-日期
大约 2 分钟
数据库教程: https://www.sjkjc.com/mysql/select/
时间类型
| 类型 | 字节 | 格式 | 用途 | 是否支持设置系统默认值 |
|---|---|---|---|---|
| date | 3 | YYYY-MM-DD | 日期值 | 不支持 |
| time | 3 | HH:MM:SS | 时间值或持续时间 | 不支持 |
| year | 1 | YYYY | 年份 | 不支持 |
| datetime | 8 | YYYY-MM-DD HH:MM:SS | 日期和时间混合值 | 不支持 |
| timestamp | 4 | YYYYMMDD HHMMSS | 混合日期和时间,可作时间戳 | 支持 |
-- 方式一:
create_time timestamp NOT NULL DEFAULT NOW();
-- 方式二:
create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP();
-- 方式三:
create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
MySQL DATE 函数
MySQL 提供了许多有用的日期函数,允许您有效地操作日期。以下列出了常用的日期函数:
NOW(): 获取当前日期和时间SELECT NOW();CURDATE(): 获取当前日期SELECT CURDATE();DATE(): 获取日期部分SELECT DATE(NOW());DATE_FORMAT(): 格式化输出日期SELECT DATE_FORMAT(CURDATE(), '%m/%d/%Y') today;DATEDIFF(): 计算两个日期之间的天数SELECT DATEDIFF('2021-01-01','2022-01-01') days;DATE_ADD(): 在给定日期上增加给定的时间间隔SELECT CURDATE() `今天`, DATE_ADD(CURDATE(), INTERVAL 1 DAY) '一天后', DATE_ADD(CURDATE(), INTERVAL 1 WEEK) '一周后', DATE_ADD(CURDATE(), INTERVAL 1 MONTH) '一月后', DATE_ADD(CURDATE(), INTERVAL 1 YEAR) '一年后';DATE_SUB(): 在给定日期上减少给定的时间间隔SELECT CURDATE() `今天`, DATE_SUB(CURDATE(), INTERVAL 1 DAY) '一天前', DATE_SUB(CURDATE(), INTERVAL 1 WEEK) '一周前', DATE_SUB(CURDATE(), INTERVAL 1 MONTH) '一月前', DATE_SUB(CURDATE(), INTERVAL 1 YEAR) '一年前';DAY(): 返回日期中天MONTH(): 返回月份QUARTER(): 返回季节YEAR(): 返回年份SELECT DAY(CURDATE()) `day`, MONTH(CURDATE()) `month`, QUARTER(CURDATE()) `quarter`, YEAR(CURDATE()) `year`;WEEK(): 函数返回给定日期是一年周的第几周WEEKDAY(): 函数返回工作日索引WEEKOFYEAR(): 函数返回日历周SELECT WEEKDAY(CURDATE()) `weekday`, WEEK(CURDATE()) `week`, WEEKOFYEAR(CURDATE()) `weekofyear`;
