您好,欢迎访问一九零五行业门户网

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

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
其它类似信息

推荐信息