年度数据的最佳PostgreSQL数据类型是什么,例如2006或1847。
TEXT
,SMALLINT
,DATE
?理想情况下,我希望能够使用第二年 - 月 - 日列(DATE
格式)查询该列。
答案 0 :(得分:22)
一年是一个整数,甚至以有意义的方式支持整数运算,因此text
毫无意义。你没有一个月或一天所以date
正好在窗外。 fine manual可以说明smallint
:
smallint
类型通常仅在磁盘空间非常宝贵的情况下使用。
留下integer
作为自然选择。如果您计划将此值与date
和timestamps
合并,则interval
可能有意义,因为date and time functions and operators对interval
有很好的理解
所以这取决于你计划用这个“年”做什么以及它到底是什么。听起来像一个简单的integer
是合适的,但你可能不得不将它与你的“第二年 - 月 - 日列”(大概是date
列)结合起来,这取决于他们需要的方式一起工作。