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

问题描述 投票:1回答:2

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

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解决方案。

mysql date datetime database-design time
2个回答
1
投票

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

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.