标签(空格分隔): MYSQL
基本说明
YEAR类型
YEAR类型是一个单字节类型用于表示年。
MySQL以YYYY格式检索和显示YEAR值。范围是1901到2155。
给YEAR类型赋值方法:
1 直接插入4位字符串
范围为’1901’到’2155’
2 直接插入4位数字
范围为1901到2155
3 插入2位字符串
如果插入‘00’~‘69’,则相当于插入2000~2069;
如果插入‘70’~‘99’,则相当于插入1970~1999。
‘0’ 和 ‘00’效果相同,都是表示2000年。
4 插入2位数字
范围为1到99
如果插入1~69,则相当于插入2001~2069;
如果插入70~99,则相当于插入1970~1999。
请注意两位整数范围与两位字符串范围稍有不同,因为你不能直接将零指定为数字并将它解释为2000。你必须将它指定为一个字符串’0’或’00’,插入数字0将被解释为0000。
5 函数返回的结果,其值适合YEAR上下文,例如NOW()
TIME类型
TIME类型表示为“时:分:秒”,尽管小时范围一般是0~23,但是为了表示某些特殊时间间隔,MySQL将TIME的小时范围扩发了,而且支持负值。
对TIME类型赋值,标准格式是‘HH:MM:SS’,但不一定非要是这种格式。
如果插入的是‘D HH:MM:SS’格式,则类似插入了‘(D*24+HH):MM:SS’。比如插入‘2 23:50:50’,相当于插入了‘71:50:50’。
如果插入的是‘HH:MM’或‘SS’格式,则效果是其他未被表示位的值赋为零值。比如插入‘30’,相当于插入了‘00:00:30’;如果插入‘11:25’,相当于插入了‘11:25:00’。
另外也可以插入‘D HH’和‘D HH:MM’,效果按上面的例子可以推理出来了吧。
在MySQl中,对于’HHMMSS’格式,系统能够自动转化为标准格式。
如果我们想插入当前系统的时间,则可以插入CURRENT_TIME或者NOW()。TIME类型只占3个字节,如果只是存储时间数据,它最合适了
DATETIME类型
标准格式为“YYYY-MM-DD HH:MM:SS”,具体赋值方法与上面各种类型的方法相似。
TIMESTAMP类型
插入数据方法
1. 使用CURRENT_TIMESTAMP
2. 输入NULL
3. 无任何输入
取值范围
类型 | 字节 | 范围 | 格式 | 用途 |
---|---|---|---|---|
YEAR | 1 | [1901,2155] | YYYY | 年份值 |
DATE | 4 | [1000-01-01,9999-12-31] | YYYY-MM-DD | 日期值 |
TIME | 3 | [-838:59:59,838:59:59] | HH:MM:SS | 时间值或持续时间 |
DATETIME | 8 | [1000-01-01 00:00:00 , 9999-12-31 23:59:59] | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
TIMESTAMP | 4 | [19700101080001,20380119111407] | YYYYMMDD HHMMSS | 混合日期和时间值,时间戳 |