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

时间:2017-12-17 13:13:37

标签: mysql date datetime database-design time

很抱歉,如果之前已经提出这个问题。我似乎无法找到答案。

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仅限于公司成立年份,DATE仅限于DATETIME字段内的出生日期?感谢。

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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