1 简介
MySQL支持3种类型的时间DATE、DATETIME和TIMESTAMP,格式和取值如下:
序号 | 时间格式 | 描述 | 取值范围 |
---|---|---|---|
1 | date | 日期,即年-月-日 | [1000-01-01, 9999-12-31] |
2 | datetime | 日期+时间,即 年-月-日 时:分:秒 | [1000-01-01 00:00:00, 9999-12-31 23:59:59] |
3 | timestamp | 日期+时间,即 年-月-日 时:分:秒 | [1970-01-01 00:00:00, 2038-01-19 03:14:07] |
2 timestamp
使用timestamp格式存储数据时,默认精度为14位。
当创建表设置列类型为timestamp(10)
存储的数据为14位,查询时返回10位数据。
序号 | 精度 | 描述 | 格式 |
---|---|---|---|
1 | timestamp(2) | 年 | YY |
2 | timestamp(4) | 年月 | YYMM |
3 | timestamp(6) | 年月日 | YYMMDD |
4 | timestamp(8) | 年月日 | YYYYMMDD |
5 | timestamp(10) | 年月日时分 | YYMMDDHHMM |
6 | timestamp(12) | 年月日时分秒 | YYMMDDHHMMSS |
7 | timestamp(14) | 年月日时分秒 | YYYYMMDDHHMMSS |
3 时间格式函数DATE_FORMAT()
参数如下:
序号 | 格式 | 描述 |
---|---|---|
1 | %a | 缩写星期名 |
2 | %b | 缩写月名 |
3 | %c | 月,数值 |
4 | %D | 带有英文前缀的月中的天 |
5 | %d | 月的天,数值(00-31) |
6 | %e | 月的天,数值(0-31) |
7 | %f | 微秒 |
8 | %H | 小时(00-23) |
9 | %h | 小时(01-12) |
10 | %I | 小时(01-12) |
11 | %i | 分钟,数值(00-59) |
12 | %j | 年的天(001-366) |
13 | %k | 小时(0-23) |
14 | %l | 小时(1-12) |
15 | %M | 月名 |
16 | %m | 月,数值(00-12) |
17 | %p | AM 或 PM |
18 | %r | 时间,12-小时(hh:mm:ss AM 或 PM) |
19 | %S | 秒(00-59) |
20 | %s | 秒(00-59) |
21 | %T | 时间, 24-小时(hh:mm:ss) |
22 | %U | 周(00-53)星期日是一周的第一天 |
23 | %u | 周(00-53)星期一是一周的第一天 |
24 | %V | 周(01-53)星期日是一周的第一天,与 %X 使用 |
25 | %v | 周(01-53)星期一是一周的第一天,与 %x 使用 |
26 | %W | 星期名 |
27 | %w | 周的天(0=星期日, 6=星期六) |
28 | %X | 年,其中的星期日是周的第一天,4 位,与 %V 使用 |
29 | %x | 年,其中的星期一是周的第一天,4 位,与 %v 使用 |
30 | %Y | 年,4 位 |
31 | %y | 年,2 位 |
【参考文献】
[1]https://www.jb51.net/article/51794.htm
[2]https://www.cnblogs.com/xuliuzai/p/10901425.html
[3]https://www.cnblogs.com/zendwang/p/mybatis-jdbctype-date.html
[4]https://www.runoob.com/sql/func-date-format.html