0

尝试将 T-SQL CTE 移植到 PostgreSQL。在 T-SQL 中cast(0 as datetime)返回

1900-01-01 00:00:00.000

在 pg 中是否有等效的“副作用”来获得新纪元的第一天?

编辑:

to_timestamp(0) on my machine --returns 1969-12-31 19:00:00-05. 

select '1970-01-01 00:00:00'::timestamptz --returns 1970-01-01 00:00:00-05
select '1970-01-01 00:00:00'::timestamp --returns 1/1/1970 which is the same as
select '1970-01-01 00:00:00'::date    -- returns 1/1/1970

我希望转换时间戳返回 1970-01-01 00:00:00,即删除时区而不是时间。

4

1 回答 1

0

如果你的时代是指 1970 年 1 月 1 日 00:00(不是 1900 年),你可以这样做:

to_timestamp(0)

要获取特定时区的时间,请尝试:

to_timestamp(0) AT TIME ZONE 'GMT'

或者

to_timestamp(0) AT TIME ZONE 'UTC'
于 2013-01-30T00:50:15.487 回答