如何在 MySQL 数据库中最好地存储年、月和日?

Kan*_*tik 2 mysql sql

如何最好地在 MySQL 数据库中存储年、月和日,以便可以按年、按年月、按年月日组合轻松检索?

ben*_*ado 5

假设您有一个表tbl,其中有一列d类型为DATE

1997年的所有记录:

SELECT * FROM tbl WHERE YEAR(d) = 1997
SELECT * FROM tbl WHERE d BETWEEN '1997-01-01' AND '1997-12-31'
Run Code Online (Sandbox Code Playgroud)

1997年3月的所有记录:

SELECT * FROM tbl WHERE YEAR(d) = 1997 AND MONTH(d) = 3
SELECT * FROM tbl WHERE d BETWEEN '1997-03-01' AND '1997-03-31'
Run Code Online (Sandbox Code Playgroud)

1997年3月10日的所有记录:

SELECT * FROM tbl WHERE d = '1997-03-10'
Run Code Online (Sandbox Code Playgroud)