MySQL 日期类型:日期格式、所占存储空间、日期范围 比较。
日期类型 存储空间 日期格式 日期范围
------------ --------- --------------------- -----------------------------------------
datetime 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
timestamp 4 bytes YYYY-MM-DD HH:MM:SS 1970-01-01 00:00:01 ~ 2038
date 3 bytes YYYY-MM-DD 1000-01-01 ~ 9999-12-31
year 1 bytes YYYY 1901 ~ 2155
在 MySQL 中创建表时,对照上面的表格,很容易就能选择到合适自己的数据类型。不过到底是选择 datetime 还是 timestamp,可能会有点犯难。这两个日期时间类型各有优点:datetime 的日期范围比较大;timestamp 所占存储空间比较小,只是 datetime 的一半。
另外,timestamp 类型的列还有个特性:默认情况下,在 insert, update 数据时,timestamp 列会自动以当前时间(CURRENT_TIMESTAMP)填充/更新。“自动”的意思就是,你不去管它,MySQL 会替你去处理。
一般情况下,我倾向于使用 datetime 日期类型。
MySQL 时间类型:时间格式、所占存储空间、时间范围。
时间类型 存储空间 时间格式 时间范围
------------ --------- --------------------- -----------------------------------------
time 3 bytes HH:MM:SS -838:59:59 ~ 838:59:59
time 时间范围居然有这么大的范围,特别是 time 可以取负值,有点奇怪。后来,看了 MySQL 手册才知道这是为了满足两个日期时间相减才这样设计的。
select timediff('2000:01:31 23:59:59', '2000:01:01 00:00:00'); -- 743:59:59
select timediff('2000:01:01 00:00:00', '2000:01:31 23:59:59'); -- -743:59:59
select timediff('23:59:59', '12:00:00'); -- 11:59:59
注意,timediff 的两个参数只能是 datetime/timestamp, time 类型的,并且这两个参数类型要相同。即:datetime/timestamp 和 datetime/timestamp 比较;time 和 time 相比较。
虽然 MySQL 中的日期时间类型比较丰富,但遗憾的是,目前(2008-08-08)这些日期时间类型只能支持到秒级别,不支持毫秒、微秒。也没有产生毫秒的函数。
《MySQL:MySQL日期数据类型、MySQL时间类型使用总结》适用于 MySQL 5.X 及以上版本。
相关推荐
### MySQL日期数据类型与时间类型使用总结 在MySQL数据库中,日期和时间是十分重要的数据类型,被广泛应用于各种业务场景之中。为了更好地理解和运用这些数据类型,本篇将对MySQL中的日期数据类型和时间类型进行...
MySQL日期数据类型、MySQL时间类型使用总结.doc
MySQL数据库在处理日期和时间数据时提供了多种数据类型,包括日期类型和时间...在MySQL 5.x及以上版本中,这些日期时间类型仅支持到秒级别,不包含毫秒或微秒。如果你需要更高的精度,可能需要在应用程序层面进行处理。
在 MySql 中,日期时间类型对应的是 DATE、TIME、DATETIME、TIMESTAMP 等类型。其中,DATE 类型用于存储日期,TIME 类型用于存储时间,DATETIME 类型用于存储日期和时间,TIMESTAMP 类型用于存储时间戳。 布尔类型 ...
MySQL数据库在处理日期和时间数据时提供了多种数据类型,包括日期类型和时间类型,每种类型都有其特定的格式、存储空间占用以及适用范围。在选择适合的数据类型时,需要根据实际需求进行权衡。 首先,让我们来看看...
MySQL 数据库支持多种数据类型,包括数字、字符串、日期和时间、枚举、集合等。 MySQL 事务 MySQL 事务是指一组操作的集合,保证了数据库的完整性和一致性。事务可以分为四个阶段:开始事务、执行事务、提交事务...
### MySQL数据类型全掌握 #### 一、概述 在数据库设计和开发过程中,正确选择数据类型对于确保数据的准确性和优化存储空间至关重要。MySQL作为一款广泛使用的开源关系型数据库管理系统,提供了丰富的数据类型来...
- **日期时间类型** (`DATETIME`):表示日期和时间的组合值。 - **浮点数类型** (`DECIMAL`):表示固定精度的小数。 - **整数类型** (`SIGNED`):表示有符号的整数值。 - **无符号整数类型** (`UNSIGNED`):表示无...
MySQL:数据类型与表设计
MySql 提供了多种数据类型,包括整数类型、浮点数类型、字符串类型、日期时间类型、枚举类型等。每种数据类型都有其特点和用法。 在 MySql 中,整数类型包括 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT 等。这些...
2. 日期和时间类型:MySQL 的日期和时间类型包括 DATETIME、DATE、TIMESTAMP、TIME 和 YEAR。DATETIME 可以存储日期和时间,而 DATE 和 TIME 分别只存储日期和时间部分。TIMESTAMP 类型特别之处在于它可以自动更新,...
在 MySQL 中,数据类型也可以分为数值类型、日期时间类型、字符串类型等。数值类型包括整形、浮点型和定点型等,其中整形包括 tinyint、smallint、mediumint、int 和 bigint 等;浮点型包括 float 和 double 等。...
MySQL 支持的各种数据类型可以分为数值类型、字符串类型、日期和时间类型、二进制类型和枚举和集合类型等。 数值类型 MySQL 支持的数值类型包括整数类型、浮点数类型和定点数类型。 * 整数类型:包括 TINYINT、...
理解 —— MySQL支持的数据类型; 表的字段类型 MySQL支持的类型 MySQL支持多种类型,大致可以分为三类: 数值类型 日期和时间类型 字符串(字符)类型。 数值类型 表的字段类型 MySQL支持所有标准SQL数值数据类型。 ...
本文将深入探讨MySQL数据库中的时间类型以及它们在Java编程语言中相对应的数据类型,以及如何在两者之间进行转换。 MySQL数据库提供了多种时间类型来处理日期和时间数据: 1. **DATE**:这个类型仅存储日期,格式...
MySQL 的日期和时间类型用于存储日期和时间信息,包括日期、时间、日期时间和时间戳等。 ### DATE 类型 DATE 类型用于存储日期信息,占用 3 字节,范围从 1000-01-01 到 9999-12-31,格式为 YYYY-MM-DD。 ### ...
总之,MySQL数据类型的灵活使用对于数据库性能优化至关重要,同时也关系到数据完整性和安全性。在实际应用中,数据库管理员和开发者应当根据实际需求和数据特性,选择最合适的数据类型,以达到存储高效和查询快速的...
MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。 其中三类主要数据类型整理如下:
MySQL数据类型详解 在数据库管理系统中,数据类型是用来定义列中数据可以取值的类型和范围。在MySQL中定义数据类型具有重要的作用: 1. 对数据进行分类:数据类型有助于对数据进行归类处理,例如整数、字符串、...