2011-11-17 155 views
5

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

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

+0

如果他们帮助你,你应该接受其中一个答案 – aydow

回答

3

可能最明智的是使用date_trunc()到月份。如果需要,您还可以为date_trunc()添加等于该值的检查约束。

7

我会跟@迈克尔建议的。

从日期提取月份和年份是非常快的,EXTRACTto_char(),可能不需要预处理。

和光盘上的date only occupies 4 byte,并没有比这更好。

替代方案是两列integer列的列约束,以防止非法日期。占用2个4字节。

甚至smallint节省RAM和光盘存储。阅读并理解数据对齐方式在光盘上存储。在很多情况下,您不会在smallint列中保存任何内容。我在这里写了更多:Calculating and saving space in PostgreSQL

最好与日期列。

相关问题