2017-08-07 183 views
0

我必须为变量:年份和月份,两者都是整型。在Postgresql中将年份和月份变量转换为时间戳记

E.g:

year = 2016 month = 1

我想,在我的SELECT语句,返回给这两个变量的时间戳。

我看过文档,特别是to_timestampto_date,但我遇到的所有示例都显示一个字符串被转换为时间戳。

我真的不希望我的yearmonth转换为字符串,如:

to_timestamp(to_char(int,year) + ' ' + to_char(int, month),YYYY/MM/DD HH24:MI:SS) 

所以,我怎么能(如果可能)将我yearmonth成时间戳?

+0

你想要一天的价值?小时? –

+0

@TimBiegeleisen只是默认设置 - 它实际上只是我感兴趣的年份和月份。这一天可以是第一个,时间可以是午夜。 – pookie

回答

2

如果您使用的是Postgres 9.4或更高版本,你可以尝试使用make_timestamp()

make_timestamp(2016, 1, 1, 0, 0, 0.0) 

这将在午夜创建一个时间戳2016年1月1日。我们需要指定其他组件的值,即使它们最终与查询/计算无关(例如,您只需要日期)。

+0

完美。谢谢。 – pookie

+0

我不得不等待10分钟,然后才标记为正确。 – pookie