MySQL日期类型
MySQL支持的日期与时间类型包含5种DATE , DATETIME ,TIME ,TIMESTAMP ,YEAR;每种日期类型都会设置有效的值域,如果不在值域范围内MySQL会设置成零值(见以下1.输入输出).其中只有TIMESTAMP与DATETIME具备初始化与自动更新功能.
整理使用MySQL日期类型时,遵循的几点规则:
1. 输入输出
查询MySQL(输出)日期数据时,以标准的格式输出.
写入MySQL(输入)接收多种格式(稍后文章详细介绍不同的格式),不符合输入标准的则默认写入零值.零值如下表
日期类型 | 零值(“zero” value) |
---|---|
DATE | ‘0000-00-00’ |
TIME | ‘00:00:00’ |
DATETIME | ‘0000-00-00 00:00:00’ |
TIMESTAMP | ‘0000-00-00 00:00:00’ |
YEAR | 0 |
2.日期顺序
MySQL虽然接收多种格式的输入,但是数据必须保证是年月日顺序输入如20-10-01
;如果是月日年或者日月年如10-01-20,01-10-20
则无法正确识别,要使用非年月日顺序输入时需要用 STR_TO_DATE
函数做转换.
3. 两位数字表示的年份
使用2位数表示年份时,MySQL采用如