1.year类型
year类型的字段在MySQL中占据一个字节,以XXXX的形式存储是以4位的数字字符串或数字存储
。数字可以表示的范围可以是1901~2155,如果超出了这个数字就会直接插入0000。
如果输入的是用两位字符串表示就是'00'~'69'时就会将其转换,变成2000~2069,直接输入‘0’会变成2000,如果输入的字符串范围为‘70’~‘99’的时候就会变成1970~1999。
如果输入的是用两位数字表示,1~69会转换成2001-2069,70~-99会转化成为1970~1999。注意,如果输入的是0,其结果不会是2000,而是0000。
2.time类型
该存储类型占用的空间为3个字节。
其一般使用格式为 HH:MM:SS的类型,H是小时hour,M是分钟minute,S是秒second
例如 06:23:56 在mysql中可以使用的一种类型
当然也可以用‘D HH:MM:SS’格式来表示,其中的D是天数day取值范围为0~34,如果按这样的形式保存的话,其天数将会转换为小时 D * 24 + HH 例子 2 4:56:34 ---> 52:56:34 将天数变成的小时数
其他的使用,以获取当前的时间
select current_time();
select now();
3.date类型
此类型表示日期,date类型的字段占用4个字节的空间。
表示的形式为 YYYY-MM-DD 也可以是YYYYMMDD 的输入 将自动转换成YYYY-MM-DD
例如
YYYY 表示年份 --- 2000
MM 表示月份 -- 05
DD表示天数 -- 26
这个表示的范围可以是从‘1000-01-01’——‘9999-12-31’
如果在YYYY中只输入二个数字,也可以转换为相应的年份,不过可用的范围有限只有‘00’~'69'可以转换为2000~2069 其他的‘70’~‘99’,只能转换为1970~1999
4.datetime类型
这种类型表示日期和时间,占用了8个字节的存储空间
YYYY-MM-DD HH:MM:SS 可以说是前面类型的全写,包含 年 月 日 和 小时 分钟 秒
其值的可用范围为'1000-01-01 00:00:00'~'9999-12-31 23:59:59'跟之前的类型相同,输入也会被转换
例如
2023-10-20 10:10:10 -- > 2023-10-20 10:10:10 , 20231020101010 -- > 2023-10-10 10:10:10
当然,在Mysql数据库中分割符的使用并不单一,用@#$之类的也可以被识别并被转换
和之前的类似,在年份中输入00~69会被转换成2000~2069 ,输入70~99会被转换成1970~1999。