日期:2014-05-16  浏览次数:20826 次

mysql 时间问题

mysql 数据库时间类型字段有:date,time,year,datetime,timestamp几种类型。

?

?

字符串类型数据列的字符集属性

MySQL?4.1 以前的版本,字符串数据列的字符集由服务器的字符决定, MySQL?4.1 版以后的版本可对每个字符串数据列指定不同的字符串。如果按默认方式设置,可按数据列、数据表、数据库、服务器的顺序关联字符串的字符集,直到找一个明确定义的字符集。

日期 , 时间型数据列类型

DATE ?1000-01-01~9999-12-31?3
字节 (MySQL3.23 版以前是 4 字节 ?)?0000-00-00?
TIME ?-838:59:59~838:59:59?3
字节 ?00:00:00?
DATETIME ?1000-01-01?00:00:00~9999-12-31?23:59:59?8
字节 ?0000-00-00?00:00:00?
TIMESTAMP ?19700101000000~2037
年的某个时刻 ?4 字节 ?00000000000000?
YEAR ?YEAR(4)
1901~2155?YEAR(2) 1970~2069?1 字节 ?0000?

MySQL
总是把日期和日期里的年份放在最前面,按年月日的顺序显示。

DATE
TIME DATATIME 数据列类型

DATE
TIME DATATIME 类型分别存放日期值、时间值、日期和时间值的组合。它们的格式分别是 “CCYY-MM-DD” “hh:mm:ss” “CCYY-MM-DD?hh:mm:ss”

DATATIME
里的时间值和 TIME 值是有区别的, DATATIME 里的时间值代表的是几点几分, TIME 值代表的是所花费的时间。当向 TIME 数据列插值时,需用时间的完整写法,如 12 30 秒要写成 “00:12:30”

TIMESTAMP
数据列类型

TIMESTAMP
数据列的格式是 CCYYMMDDhhmmss ,取值范围从 19700101000000 开始,即 1970 1 1 号,最大到 2037 年。它的特点是能把数据行的创建或修改时间记录下来:

如果把一个 NULL 值插入 TIMESTAMP 列,这个数据列就将自动取值为当前的日期和时间。

在创建和修改数据行时,如果没有明确对 TIMESTAMP 数据列进行赋值,则它就会自动取值为当前的日期和时间。如果行中有多个 TIMESTAMP