如何在 postgres(Amazon redshift)中将 sas 日期格式转换为 int?

How to convert FROM sas date format TO int in postgres (Amazon redshift)?

请耐心等待,因为我没有记下单词。我正在使用带有 postgresql 的 Navicat 将 SAS 日期转换为 int。我已经成功使用

DATEADD(day,round(field_name)::int,'19600101') -> where field_name = '-8705' stored 
as varchar(256)

用于正数,但这不适用于负数(1960 年 1 月 1 日之前)。理想情况下,有人有 better/easier/more 从 SAS 日期转换的有效方法,但我将很感激将这些负数转换为 int 的方法。我已经搜索了 Amazon Redshift 文档,如果答案在那里我不明白。如果可能的话,我从例子中学得最好。

这个例子看起来很有希望,但我不知道如何让它适合我的情况:

SELECT total_days
 , CAST(end_date AS timestamp) t_stamp
 , CAST(end_date AS date) final_date_time
 -- date(end_date) will not work as end_date is date already
 , TO_CHAR(TRUNC(end_date), 'MM/DD/YYYY') final_date
FROM(
SELECT ROUND(1344444527/60/60/24)         total_days
    , TO_DATE('01-01-1960','dd-mm-yyyy') start_date
    , TO_DATE('01-01-1960','dd-mm-yyyy')+ (1344444527/60/60/24) end_date
 FROM dual
)

在此先感谢您的帮助!!

它以原始格式返回数据,但我 运行 再次检查它,现在它可以工作了。我不知道为什么它最初不起作用。可能是用户错误。谢谢你的评论!!