gpt4 book ai didi

sql - 在数据库中存储部分日期

转载 作者:行者123 更新时间:2023-12-04 12:22:04 25 4
gpt4 key购买 nike

我想在关系数据库(MySQL、PostgreSQL 等)中存储部分日期。例如,输入可能只是年份(2013);年月(2013-08);或年、月、日 (2013-08-29)。我不能只使用普通的 DATE 类型,因为年份将扩展到 2013-01-01,这与年、月和日无法区分。

我曾想过将日期分成三个单独的字段(年、月和日作为整数),但我在 DBS 中丢失了所有日期细节,必须管理更多索引。

我的另一个想法是将它存储为 DATE 并有另一列说明日期的精确度。例如,'2013-08-01' 和 'month' 表示日期只精确到月份 (2013-08)。 '2013-08-01' 和 'day' 表示日期完全是 2013-08-01。

做到这一点的最佳方法是什么?

最佳答案

也许最好的方法是将这些视为时间跨度并拥有一个 effdateenddate .你可以代表任何你想要的时间跨度。一年就像“2012-01-01”和“2012-12-31”。单个日期类似于“2013-08-28”和“2013-08-28”。

这还可以让您灵活地扩展表示以处理季度或其他时间组。

关于sql - 在数据库中存储部分日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18501619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com