MySQL中的5种日期/时间类型如何操作?
1、理解MySQL5种日期/时间类型的定义与取值范围。

2、第一种:YEAR
1、数字或字符形式的值insert到表中YEAR字段后都是变成数字形式显示;
2、字符的'0'与'00'会转化为2000,而数字的0与00则直接是0000;
3、不论字符还是数字形式的1~99都可以转化为对应年份。
4、超过2155是无法写入YEAR类型字段的。

3、第二种:TIME
1、尽量还是用字符形式做参数;
2、只有一个数字则表示秒,如果有两个数字和一个“:”则自动补充“00”作为秒;
3、前面一个数字加空格后跟着带“:”串,则前面数字要乘以24加上第一个“:”前的数字作为第一个“:”前的结果,其他不变。

4、另外,TIME超出边界的效果及如何写入系统时间见图:

5、第三种:DATE
1、YYYYMMDD与YYMMDD格式不论数字还是字符,都可以写入到DATE类型字段中;
2、YYMMDD格式中表示YY数字00~69转化为2000~2069,而70~99则转化为1970~1999。
3、至于边界与系统时间,留待自己去测试下。

6、第四与第五种:DATETIME与TIMESTAMP
1、TIMESTAMP未指定值的情况下会自动填充系统时间;
2、TIMESTAMP超出范围的值不能写入;
3、YYYY-MM-DD HH:MM:SS与YYYYMMDDHHMMSS格式都可以表示DATETIME与TIMESTAMP。

7、有趣的游戏:改变时区
1、不论历史数据还是新insert数据,TIMESTAMP都自动按新时区进行转换(慢两个小时);
2、DATETIME类型不会自动填充系统时间。

阅读量:124
阅读量:135
阅读量:58
阅读量:157
阅读量:102