字段的时间类型分为: ,,,,;
下面就分别介绍这几种时间类型的区别
每个时间类型都有一个有效范围和一个零值,当指定的类型的值超过有效范围时,就会使用零值
YEAR
该类型表示年,格式为
有三种表示方法
直接使用四位数字或字符串,范围是1901-2155,输入的格式为’YYYY’或YYYY,如输入‘2011’或2011就回直接保存为2011,若超过范围就会表示为0000
使用两位的字符串表示,如果插入为’00’-‘69’则表示为2000-2069,若插入’70-99’则表示为1970-1999.如输入’22’保存为2222,输入88保存为1988.’0’和’00’的效果一样
使用两位数字,如果插入为00-69则表示为2000-2069,若插入70-99则表示为1970-1999.如输入22保存为2222,输入88保存为1988.如果是0则表示为0000.注意该处和字符串的情况不一样
TIME
该类型表示时:分:秒,尽管时间范围为0~23,但是为了表示某些特殊的时间,mysql将小时的范围扩大了,并且支持负值。
对于类型复制,标准的格式为,但不一定要这个格式
如果插入的格式为则类似插入了,比如插入,相当于
如果插入的格式为或则,那么其他位置就赋零值.比如 相当于,比如 相当于
在中,系统可以自动识别转化为标准格式.我们可以通过获取当前的值
DATE
该类型表示年-月-日,标准格式为,但是中还支持一些不严谨的格式:比如等其他的符号来分割
在插入数据的数据的也可以使用 年份的转换和上面的类型的规则一样的
可以使用 函数获取当前的值
DATETIME
该类型表示YYYY-MM-DD hh:mm:ss,可以看出和类型的结合体.所以赋值的规则时和上面和的时一样的
TIMESTAMP
该类型表示为YYYY-MM DD hh:mm:ss,取值范围比小,因此输入时一定要注意输入值的范围,超过范围会当作零值处理。
哈哈,到年后就别用这个类型了
这只是一个简单的区分说明,具体时间类型的说明 请参考 官方文档
https://dev.mysql.com/doc/refman/5.7/en/date-and-time-types.html
领取专属 10元无门槛券
私享最新 技术干货