Heim  >  Artikel  >  Datenbank  >  Mysql的时间类型(大集合)_MySQL

Mysql的时间类型(大集合)_MySQL

WBOY
WBOYOriginal
2016-06-01 13:32:25924Durchsuche

bitsCN.com

Mysql的时间类型(大集合)

 

1、MySQL的五种日期和时间类型

 

MySQl中有多种表示日期和时间的数据类型。其中YEAR表示年份,DATE表示日期,TIME表示时间,DATETIME和TIMESTAMP表示日期和实践。它们的对比如下:

 

TEAR ,字节数为1,取值范围为“1901——2155”

 

DATE,字节数为4,取值范围为“1000-01-01——9999-12-31”

 

TIME,字节数为3,取值范围为“-838:59:59——838:59:59”

 

DATETIME,字节数为8,取值范围为“1000-01-01 00:00:00——9999-12-31 23:59:59”

 

TIMESTAMP,字节数为4,取值范围为“19700101080001——20380119111407”

 

当插入值超出有效取值范围时,系统会报错,并将零值插入到数据库中。

 

2、YEAR类型

 

给YEAR类型复制可以有三种方法。

 

第一种是直接插入4位字符串或者4位数字。

 

第二种是插入2位字符串,这种情况下如果插入‘00’~‘69’,则相当于插入2000~2069;如果插入‘70’~‘99’,则相当于插入1970~1999。第二种情况下插入的如果是‘0’,则与插入‘00’效果相同,都是表示2000年。

 

第三种是插入2位数字,它与第二种(插入两位字符串)不同之处仅在于:如果插入的是一位数字0,则表示的是0000,而不是2000年。所以在给YEAR类型赋值时,一定要分清0和‘0’,虽然两者相差个引号,但实际效果确实相差了2000年。

 

3、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个字节,如果只是存储时间数据,它最合适了。

 

4、DATE类型

 

MySQL是以YYYY-MM-DD格式来显示DATE类型的值,插入数据时,数据可以保持这种格式。另外,MySQL还支持一些不严格的语法格式,分隔符“-”可以用“@”、“.”等众多富豪来替代。

 

在插入数据时,也可以使用“YY-MM-DD”格式,YY转化成对应的年份的规则与YEAR类型类似。

 

如果我们想插入当前系统的时间,则可以插入CURRENT_DATE或者NOW()。

 

5、DATETIME类型

 

标准格式为“YYYY-MM-DD HH:MM:SS”,具体赋值方法与上面各种类型的方法相似。

 

6、TIMESTAMP类型

 

TIMESTAMP的取值范围比较小,没有DATETIME的取值范围大,因此输入值时一定要保证在TIMESTAMP的范围之内。它的插入也与插入其他日期和时间数据类型类似。

 

那么TIMESTAMP类型如何插入当前时间?第一,可以使用CURRENT_TIMESTAMP;第二,输入NULL,系统自动输入当前的TIMESTAMP;第三,无任何输入,系统自动输入当前的TIMESTAMP。

 

另外有很特殊的一点:TIMESTAMP的数值是与时区相关

 

bitsCN.com
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn