MySQL中的DATE
数据类型用于存储日期值,格式为YYYY-MM-DD
。它占用3个字节,可以表示的范围是从1000-01-01
到9999-12-31
。
DATE
类型比DATETIME
类型使用更少的存储空间。DATE
类型不包含时间部分,因此不受时区影响。DATE
类型提供了简洁的接口。MySQL中与日期相关的数据类型主要有:
DATE
:仅存储日期。DATETIME
:存储日期和时间。TIMESTAMP
:存储日期和时间,且与时区有关。DATE
类型常用于需要存储生日、纪念日、节假日等日期信息的场景。
假设我们有一个名为users
的表,其中有一个birth_date
字段是DATE
类型。以下是如何向该表中添加一条包含日期数据的记录:
INSERT INTO users (username, birth_date) VALUES ('JohnDoe', '1990-05-15');
问题1:插入日期时出现格式错误。
DATE
类型的范围。YYYY-MM-DD
,并且日期值在DATE
类型的范围内。-- 错误的日期格式
INSERT INTO users (username, birth_date) VALUES ('JohnDoe', '90-05-15'); -- 会报错
-- 正确的日期格式
INSERT INTO users (username, birth_date) VALUES ('JohnDoe', '1990-05-15'); -- 正常插入
问题2:如何查询特定日期范围的记录?
BETWEEN
关键字或比较运算符来查询特定日期范围的记录。-- 查询出生日期在1990-01-01到1999-12-31之间的用户
SELECT * FROM users WHERE birth_date BETWEEN '1990-01-01' AND '1999-12-31';
-- 或者使用比较运算符
SELECT * FROM users WHERE birth_date >= '1990-01-01' AND birth_date <= '1999-12-31';
领取专属 10元无门槛券
手把手带您无忧上云