Mysql的时间和日期

datetime    占8个字节    可以显示日期同时显示时间  yyyy-mm-dd hh:mm:ss
显示范围  1000-01-01 00:00:00----9999-12-31 23:59:59
可用格式
2011-01-01 00:01:10
2011/01/01 00+01+10
20110101000110
11/01/01/  00@01@10
mysql5.5版本之前日期类型无法精确到微秒级别
 
date               占3个字节   显示日期
显示范围   1000-01-01----9999-12-31 
 
 
timestamp     占用4个字节       1970 10 10 80001----2038-01-19 03:14:07
timestamp 和datetime显示结果一样
但是显示范围不同,其次建表时timestamp格式可以设置默认值,datetime不行
更新表时可以设置timestamp类型的列自动更新为当前时间
 
 
 
time                -838:59:59 ----838:59:59
year               1901----2155   可以使用year(2)和year(4)
 
与时间相关的函数
 
now   current_timestamp    sysdate
 
1,now和current_timestamp是同样的
2,sysdate函数返回执行当前函数时的时间,而now返回的事执行sql语句时的时间
 
时间加减
如果出现目标年份是闰月,会自动加减1天
date_add(date,interval   expr  unit)
date_sub(date,interval   expr  unit)
 
date_add(now(),interval 1  day)
unit  可以是如下数据
year
month
day
week
hour
minute
second
microsecond
 
date_format()函数,其作用是按用户需求格式化打印日期,如果查询条件使用建议使用时间索引。
 
 
 
 
select date_format(now() ,'%Y%m%d') as datetime ;//20161118
select date_format(now() ,'%Y-%m-%d') as datetime ;//2016-11-18
原文地址:https://www.cnblogs.com/muliu/p/6077772.html