MySQL日期资料型态

2013-05-06_154036

这是MySQL 5实力养成暨评量里的4-37.‘在MySQL中,下列哪些是时间日期资料型态?’

答案:(A)DATETIME(B)DATE(C)TIMESTAMP(D)TIME

[adsense][/adsense]

朋友们可以参考MySQL 5.6 Reference Manual :: 11 Data Types :: 11.3 Date and Time Types

MySQL 5.1参考手册 :: 11.列类型::11.3. 日期和时间类型

繁体中文转译如下:

表示时间值的DATE和时间日期资料型态为DATETIME、DATE 、TIMESTAMP、TIME和YEAR。每个时间日期资料型态有一个有效值范围和一个“ 零 ”值,当指定不合法的MySQL不能表示的值时使用“ 零 ”值。TIMESTAMP资料型态有专有的自动更新特性,将在后面描述。

如果试图插入一个不合法的日期,MySQL将给出警告或错误。可以使用ALLOW_INVALID_DATES SQL模式让MySQL接受某些日期,例如’1999-11-31’。当你想要保存一个“ 可能错误的 ”用户已经在资料库中指定(例如,以web形式)用于将来处理的值时很有用。在这种模式下,MySQL只验证月范围为从0到12,日范围为从0到31。这些范围可以包括零,因为MySQL允许在DATE或DATETIME列保存日/月和日是零的日期。这在应用程序需要保存一个你不知道确切日期的生日时非常有用。在这种情况下,只需要将日期保存为’1999-00-00’或’1999-01-00’。如果保存此类日期,DATE_SUB()或DATE_ADD等需要完整日期的函数不会得到正确的结果。(如果你不想在日期中出现零,可以使用NO_ZERO_IN_DATE SQL模式)。

MySQL还允许将’0000-00-00’保存为“伪日期” (如果不使用NO_ZERO_DATE SQL模式)。这在某些情况 ​​下比使用NULL值更方便(并且资料和索引占用的空间更小)。