对不起,如果之前已经问过这个问题。我似乎无法找到答案。
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')
。
您可以做的是存储时间戳,然后使用时间戳来获取您想要从时间戳中检索的任何信息。根据您使用的语言,有可用的功能来帮助您实施。分享您正在使用的语言,以便我们为您提供更好的帮助