Php 如何在mysql日期列中仅插入年份

Php 如何在mysql日期列中仅插入年份,php,mysql,date,Php,Mysql,Date,我有一个日期,有时只能是一年、几年、几个月或一个完整的日期。将其保存在数据库上的最佳做法是什么 我需要在以后进行搜索,因为:给我2004-2008年之间的所有日期,或者给我2004-05-21到2005-12-31之间的所有日期,我建议使用dateformat(),然后如果需要,使用更具体的函数按日期范围查询记录,如 WHERE YEAR(created) BETWEEN 2010 AND 2011 等等 此处有更多与日期\时间相关的功能: 可能的副本将其存储为完整日期。您可以根据需要使用ye

我有一个日期,有时只能是一年、几年、几个月或一个完整的日期。将其保存在数据库上的最佳做法是什么


我需要在以后进行搜索,因为:给我2004-2008年之间的所有日期,或者给我2004-05-21到2005-12-31之间的所有日期,我建议使用
date
format(),然后如果需要,使用更具体的函数按日期范围查询记录,如

WHERE YEAR(created) BETWEEN 2010 AND 2011
等等

此处有更多与日期\时间相关的功能:

可能的副本将其存储为完整日期。您可以根据需要使用
year(datefield)
提取年份组件。我听说我可以将日期存储为2004-00-00,以保存不完整的日期。。。这可能行得通吗?@Atomico尝试将其存储为这样,看看发生了什么不需要时间,因此将其存储为DATETIME没有意义。只要约会就够了。