时间日期类型
datetime 时间日期 格式是yyyy-mm-dd HH:ii:ss表示范围从1000到9999年 有0值0000-00-00 00:00:00
date 日期,就是datetime中的date部分
time 时间段,指定的某个区间之间
timestamp 时间戳,从1970年开始的YYYY-mm-dd HH:ii:ss格式与datetime完全一致
year 年份,year(2) 和year(4)
为了测试year(2)和year(4)的范围,我尝试做了下面(插入数值取了-5到120)
create table time(
atime year(4),
aindex int
)engine innodb charset utf8;
delimiter $$
create procedure pro1()
begin
set @i=-5;
while @i <120 do
insert into time values (@i,@i);
set @i = @i+1;
end while;
end
$$
delimiter ;
call pro1();
select * from time;
可以发现 当插入数值为负数到0时,year(4)显示为0000 插入整形为1-69对应加上2000即可 70对应1970 99对应1999 超过100以后数值无显示了;实验发现如果是year(2),则只显示两位;
timestamp字段 只要当前所在的记录被更新,该字段一定会自动更新成当前时间;