Database 如何在数据库中存储年-月?

Database 如何在数据库中存储年-月?,database,postgresql,Database,Postgresql,是否有一种在数据库中存储年和月的标准方法?我需要根据月份和年份做一些报告 我不能使用日期和函数来实时提取月份,因为表太大了,所以我需要预处理。可能最明智的做法是使用date\u trunc()来提取月份。您还可以添加一个检查约束,使date\u trunc()等于您想要的值。我同意 从日期中提取月份和年份非常快,可能不需要预处理 在磁盘上,几乎没有比这更好的了 一个可能的替代方案是2个带有列约束的integer列,以防止非法日期。占用2 x 4字节 甚至可以使用2smallint来保存RAM和磁

是否有一种在数据库中存储年和月的标准方法?我需要根据月份和年份做一些报告


我不能使用日期和函数来实时提取月份,因为表太大了,所以我需要预处理。

可能最明智的做法是使用
date\u trunc()
来提取月份。您还可以添加一个检查约束,使
date\u trunc()
等于您想要的值。

我同意

日期中提取月份和年份
非常快,可能不需要预处理

在磁盘上,几乎没有比这更好的了

一个可能的替代方案是2个带有列约束的
integer
列,以防止非法日期。占用2 x 4字节

甚至可以使用2
smallint
来保存RAM和磁盘存储。阅读并了解存储中的数据对齐。在许多情况下,
smallint
列不保存任何内容。见:


最好选择一个
日期
栏。

如果答案对你有帮助,你应该接受其中一个答案