为了方便在数据库中存储日期和时间,MySQL提供了表示日期和时间的数据类型,分别是YEAR、DATE、TIME、DATETIME和TIMESTAMP。下面列举了这些MSL中日期和时间数据类型所对应的字节数、取值范围、日期格式以及零值。
从上图中可以看出,每种日期和时间类型的取值范围都是不同的。需要注意的是,如果插入的数值不合法,系统会自动将对应的零值插入数据库中。
YEAR类型
YEAR类型用于表示年份,在MySQL中,可以使用以下三种格式指定YEAR类型的值。
(1)使用4位字符串或数字表示,范围’1901’~’2155’或1901~2155。例如,输入’2014’或2014,插入到数据库中的值均为2014。
(2)使用两位字符串表示,范围为’00’~’99’,其中,’00’~’69’范围的值会被转换为2000~2069范围的YEAR值,’70’~’99’范围的值会被转换为1970~1999范围的YEAR值。例如,输入14’,插入到数据库中的值为2014。
(3)使用两位数字表示,范围为1~99其中,1~69范围的值会被转换为2001~2069范围的YEAR值,70~99范围的值会被转换为1970~1999范围的YEAR值。例如,输入14,插入到数据库中的值为2014。
需要注意的是,当使用YEAR类型时,一定要区分’0’和0。因为字符串格式的’0’表示的YEAR值是2000,而数字格式的0表示的YEAR值是0000。
DATE类型
DATE类型用于表示日期值,不包含时间部分。在MySQL中,可以使用以下4种格式指定DATE类型的值。
(1) 以’YYYY-MM-DD’或者’YYYYMMDD’字符串格式表示。
例如,输入’2014-01-21’或’20140121’,插入数据库中的日期都为2014-01-21。
(2)
以’YY-MM-DD’或者’YYMMDD’字符串格式表示。YY表示的是年,范围为’00’~’99’,其中’00’~’69’范围的值会被转换为2000~2069范围的值,’70’~’99’范围的值会被转换为1970~1999范围的值.
例如,输入’14-01-21’或’140121’,插入数据库中的日期都为2014-01-21
(3) 以YY-MM-DD或者YYMMDI数字格式表示。
例如,输入14-01-21或140121,插入数据库中的日期都为2014-01-21。
(4) 使用CURRENT_DATE或者NOW()表示前系统日期。
TIME类型
TIME类型用于表示时间值,它的显示形式般为HH:MM:SS,其中,HH表示小时,MM表示分,SS表示秒。在MySQL中,可以使用以下三种格式指定TIME类型的值。
1) 以'D HH:MM:SS’字符串格式表示。其中,D表示日,可以取0~34之间的值,插入数据时,小时的值等于(D×24+HH)。
例如,输入2 11:30:50,插入数据库中的日期为59:30:50
(2)以'HHMMSS’字符串格式或者HHMMSS数字格式表示。例如,输入’345454'或345454,插入数据库中的日期为34:54:54。
(3)使用CURRENT_TIME或NOW()输入当前系统时间。
DATETIME类型
DATETIME类型用于表示日期和时间,它的显示形式为’YYYY-MM-DD
HH:MM:SS’,其中YYYY表示年,MM表示月,DD表示日,HH表示小时,MM表示分,SS表示秒。在MySQL中,可以使用以下4种格式指定DATETIME类型的值。
(1) 以’YYYY-MM-DD HH:M:SS’或者’YYYYMMDDHHMMSS’字符串格式表示的日期和时间,取值范围为’1000-01-01
00:00:00~’9999-12-3 23:59:59’。
例如,输入’2014-01-22 09:01:23’或20140122090123,插入数据库中的DATETIM值都为2014-01-22
09:01:23。
(2)以’YY-MM-DDH:MM:SS’或者’YYMMDDHHMMSS’字符串格式表示的日期和时间,其中YY表示年,取值范围为’00’~’99’。与DATE类型中的YY相同,’00’~’69’范围的值会被转换为2000~2069范围的值,’70’~’9’范围的值会被转换为1970~1999范围的值。
(3)以YYYYMMDDHHMMSS或者YYMMDDHHMMSS数字格式表示的日期和时间例如,插入20140122090123或者140122090123,插入数据库中的DATETIME值都为2014-01-22
09:01:23.
(4)使用NOW来输入当前的日期和时间。
猜你喜欢MySQL安装教程