29

年份数据的最佳 PostgreSQL 数据类型是什么,例如 2006 年或 1847 TEXT年。 , SMALLINT, DATE? 理想情况下,我希望能够使用第二个年月日列(DATE格式)查询该列。

4

1 回答 1

40

一年是一个整数,甚至以有意义的方式支持整数运算,所以text没有意义。你没有一个月或一天,所以date就在窗外。精美的手册有这样的说法smallint

smallint类型通常仅在磁盘空间非常宝贵的情况下使用。

integer是一个自然的选择。如果您打算将此值与dates 和结合起来timestamps,那么interval可能是有意义的,因为日期和时间函数以及运算符对 s 有很好的理解interval

所以这取决于你计划用这个“年”做什么,以及它到底是什么。听起来简单integer是合适的,但您可能需要花点时间将其与“第二年-月-日列”(date大概是一列)结合起来,具体取决于它们需要如何协同工作。

于 2012-12-08T18:49:41.910 回答