MySQL 中存储年月类型的数据,通常有两种方式:使用 DATE
或 DATETIME
类型,以及使用整数或字符串类型。
DATE
或 DATETIME
类型YYYY-MM-DD
,范围从 1000-01-01
到 9999-12-31
。YYYY-MM-DD HH:MM:SS
,范围从 1000-01-01 00:00:00
到 9999-12-31 23:59:59
。优势:
DATE_ADD
、DATEDIFF
等。应用场景:
示例代码:
CREATE TABLE example (
id INT AUTO_INCREMENT PRIMARY KEY,
date_column DATE,
datetime_column DATETIME
);
INSERT INTO example (date_column, datetime_column) VALUES ('2023-10-01', '2023-10-01 12:34:56');
YYYYMM
或 YYYYMMDD
格式的整数。YYYY-MM
或 YYYY-MM-DD
格式的字符串。优势:
应用场景:
示例代码:
CREATE TABLE example (
id INT AUTO_INCREMENT PRIMARY KEY,
year_month_column INT,
date_string_column VARCHAR(10)
);
INSERT INTO example (year_month_column, date_string_column) VALUES (202310, '2023-10-01');
问题:存储日期时间时出现格式错误。
原因:
解决方法:
YYYY-MM-DD
或 YYYY-MM-DD HH:MM:SS
格式。示例代码:
-- 错误的插入语句
INSERT INTO example (date_column) VALUES ('2023/10/01'); -- 应该使用 '-' 分隔符
-- 正确的插入语句
INSERT INTO example (date_column) VALUES ('2023-10-01');
通过以上方式,你可以根据具体需求选择合适的存储方式,并解决常见的存储问题。
领取专属 10元无门槛券
手把手带您无忧上云