我应该使用 VARCHAR 还是 DATETIME?

1 mysql php

我正在制作一个博客 cms 系统,帖子的发布日期和时间应该显示在我的网站上。

我应该使用函数将日期时间保存在 php 代码中并将其保存在数据库中的 varchar 中,还是应该通过使用 DATETIME 使用数据库的默认值。

哪种方法更专业/更有效

Wor*_*DBA 6

您应该始终使用DATE类型存储日期。它应该使用更少的存储空间,并且在搜索时通常比将相同的日期存储为VARCHAR.

此外,如果您将其存储为VARCHAR格式,那么该格式将被烘焙到您的数据中,这将使您更难在表示层中使用不同的日期格式。例如,如果一个用户使用 en_US 而一个用户使用 en_GB,那么日期将在数据库的同一列中以不同的方式存储。那么当你查询你的数据时,你怎么知道'01/12/2020'是2020年1月12日还是2020年12月1日?有一个很大的不同。

将日期存储为日期允许您在它所属的表示层中应用不同的格式(例如语言差异或精度差异)。