在MySQL中使用字符串数据类型而不是使用日期时间数据类型是一个好主意吗?

Jak*_*e W 5 mysql string datetime date

在MySQL数据库之上实现Web应用程序时,我在想是否只使用字符串数据类型存储日期是个好主意?

例如,我可以将日期存储为"201110191503999"到数据库中.这也方便按日期查询.例如,从some_table中选择*,其中the_date类似于'20111019%'

如果我们使用字符串作为日期,是否有任何性能问题?使用日期/日期时间数据类型有什么好处吗?

提前致谢!

nvc*_*ode 6

始终使用列类型来满足需要的内容; 如果您使用的是日期,请使用DATETIME,如果是时间戳,请使用TIMESTAMP等等.

根据您编码的内容,数据的所有格式都可以在您使用的任何语言的实际页面上完成.

此外,您可以利用MySQL等功能NOW(),而不是使用该语言的版本,然后将其存储到数据库中.


Tom*_*Mac 6

如果您的数据是日期类型,则将数据存储在DATE(如果您有时间元素,则存储在DATETIME中).

如果您将日期存储为字符串,那么您就会遇到麻烦!例如,什么是阻止某人将'我不是约会'的值写入字符串'date'字段?或者如果你有'20111019'和'2011-10-19'并希望它们被视为平等,会发生什么?此外,您将错过一大堆MySQL DATE和TIME特定功能

如果可以避免,请勿将日期存储为字符串.