我必须将用户的生日(如)存储在我的 mysql 数据库中12-11-1990
。
我必须使用什么字段类型来存储它?
要存储日期,您可能应该使用 date。引用文档:
DATE 类型用于具有日期部分但没有时间部分的值。
您可以将其存储为一个DATE
对象,就像您通常对非重复日期所做的那样。如果您使用的是 MySQL(我相信其他 DBMS 也有此功能),您可以使用 MySQL 函数检索生日,如下所述:
SELECT *
FROM table_name
WHERE
MONTH(date_field) = desired_month AND
DAY(date_field) = desired_day
在处理数千条记录时,此方法可能会有点慢。如果这是您的情况,您可以使用 3 个单独的 INT 存储生日,每个 INT(年、月、日)一个。然后你像这样搜索生日:
SELECT *
FROM table_name
WHERE
month_field = desired_month AND
day_field = desired_day
If you use this last method, I'd advise you to also store a DATETIME version of the birthday so that you can build the date without any kind of maneuvers. You can additionally index each one of the 3 fields (non-unique) so it's faster to retrieve them.
“日期”应该是好的。
DATE 类型用于具有日期部分但没有时间部分的值。MySQL 以 'YYYY-MM-DD' 格式检索和显示 DATE 值。支持的范围是“1000-01-01”到“9999-12-31”。
DATE太明显了吗?