2011-11-17 354 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

最好與日期列。