标签:
MySQL提供几种时间和日期类型,包括日期和时间类型是DATETIME、DATE、TIMESTAMP、TIME和YEAR。对这几种时间和日期类型概述如下:
DATE
DATE类型用在你仅需要日期值时,没有时间部分。MySQL检索并且以‘YYYY-MM-DD‘格式显示DATE值,支持的范围是‘1000-01-01‘到‘9999-12-31‘。
存储需求:3字节
TIME
取值范围:“-838:59:59”到“838:59:59”
你能用多中格式指定TIME值:
存储需求:3字节
DATATIME
DATETIME类型用在你需要同时包含日期和时间信息的值时。MySQL检索并且以‘YYYY-MM-DD HH:MM:SS‘格式显示DATETIME值,支持的范围是‘1000-01-01 00:00:00‘到‘9999-12-31 23:59:59‘。(“支持”意味着尽管更早的值可能工作,但不能保证他们可以。)
存储需求:8字节
TIMESTAMP[(M)]
TIMESTAMP列类型提供一种类型,你可以使用它自动地用当前的日期和时间标记INSERT或UPDATE的操作。如果你有多个TIMESTAMP列,只有第一个自动更新。TIMESTAMP值可以从1970的某时的开始一直到2037年,精度为一秒,其值作为数字显示。
自动更新第一个TIMESTAMP列在下列任何条件下发生:
存储需求:4字节
YEAR[(M)]
取值范围:1901到2155
YEAR类型是一个有效的利用1字节类型表示年份。MySQL检索并且以YYYY格式显示YEAR值,其范围是1901到2155。 如果,只想保存日期,那么YEAR比其它类型比如SAMLLINT更为有效。
你能用多种格式指定YEAR值,既可以用4为字符,也可以使用4为字符串,当然要在1901到2155范围之内。
作为YEAR的一个优点是,你可以指定一个在‘00‘到‘99‘范围的2位字符串或者一个在‘00‘到‘69‘和‘70‘到‘99‘范围的值被变换到在2000到2069范围和1970到1999的YEAR值。
存储需求: 1字节
MySQL本身Y2K(Year 2 Kilo)安全的,但是呈交给MySQL的输入值可能不是。一个包含2位年份值的任何输入是由二义性的,因为世纪是未知的。这样的值必须被解释成4位形式,因为MySQL内部使用4位存储年份。对于DATETIME, DATE, TIMESTAMP和YEAR类型,MySQL使用下列规则的解释二义性的年份值:
在范围00-69的年值被变换到2000-2069。
在范围70-99的年值被变换到1970-1999。
记得这些规则仅仅提供对于你数据的含义的合理猜测。如果MySQL使用的启发规则不产生正确的值,你应该提供无二义的包含4位年值的输入。
标签:
原文地址:http://www.cnblogs.com/ryansunyu/p/4210688.html