如何在MySQL DATETIME字段中存储DATE / TIME / YEAR?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在MySQL DATETIME字段中存储DATE / TIME / YEAR?相关的知识,希望对你有一定的参考价值。

对不起,如果之前已经问过这个问题。我似乎无法找到答案。

mysql具有以下类型的日期/时间类型:

DATE:       0000-00-00
TIME:       00:00:00
DATETIME:   0000-00-00 00:00:00
TIMESTAMP:  0000-00-00 00:00:00
YEAR:       0000

我知道可以使用这些数据类型中的每一种来存储它们中的每一种。

如何仅在商业开放/关闭时间内存储TIME,仅在公司年度成立时使用YEAR,在DATETIME字段中仅存储DATE如出生日期?谢谢。

PS:我使用php,如果这有帮助,虽然我正在寻找一个纯粹的MySQL解决方案。

答案

我认为你应该将所有这些存储为日期时间。营业时间可能因日期而异,您可能还需要公司成立时的日期或月份。

通过将所有内容存储为日期时间,您可能会持久保存额外信息。但总是可以轻松检索感兴趣的信息。例如,为了获得公司成立的年份,你可以使用YEAR(date_founded),或者如果你感觉更复杂,你可以使用DATE_FORMAT('date_founded', '%Y')

另一答案

您可以做的是存储时间戳,然后使用时间戳来获取您想要从时间戳中检索的任何信息。根据您使用的语言,有可用的功能来帮助您实施。分享您正在使用的语言,以便我们为您提供更好的帮助

以上是关于如何在MySQL DATETIME字段中存储DATE / TIME / YEAR?的主要内容,如果未能解决你的问题,请参考以下文章

mysql 把时间换成时间戳进行存储在int字段中还是直接用datetime好

mysql 中,创建表时如何定义一个日期类型的字段

JDBC prepareStatement 存储在mysql上的datetime 时间字段报错的解决方法

如何从 MySQL 的 DATETIME 字段中仅选择日期?

mysql 存储 date , datetime问题,初步

从 C# 到 MySQL 的 DateTime:不完整的存储