1
我在將SAS日期加載到Teradata時遇到問題。 SAS中的日期格式爲'01Jan2017'D,加載Teradata中的日期後會顯示一個類似23050的數字字符串,但不是日期格式。我在加載之前使用了put函數來更改SAS中的格式,並且在Teradata中加載了我使用的日期格式化函數之後,它們都沒有工作。sas加載到Teradata日期格式
有沒有人有解決方案?
非常感謝您的回答!
我在將SAS日期加載到Teradata時遇到問題。 SAS中的日期格式爲'01Jan2017'D,加載Teradata中的日期後會顯示一個類似23050的數字字符串,但不是日期格式。我在加載之前使用了put函數來更改SAS中的格式,並且在Teradata中加載了我使用的日期格式化函數之後,它們都沒有工作。sas加載到Teradata日期格式
有沒有人有解決方案?
非常感謝您的回答!
您是否在使用SAS /訪問Teradata?如果是這樣,它應該自動將變量定義爲Teradata中的日期。讓我們在SAS中做一個小表。請注意,附加一個有效的SAS日期格式對於SAS瞭解您的變量具有日期值至關重要。
data have ;
mydate = '01JAN2017'd;
format mydate date9. ;
run;
現在讓我們將其上傳到新的teradata表。
libname td teradata ..... ;
data td.mytable ;
set have;
run;
現在讓我們回過頭來看看它裏面有什麼。
proc print data=td.mytable;
run;
現在,如果你已經加載大量數據到Teradata和值看起來像自1960年1月1日天的整數,這是SAS內部存儲如何日期,那麼它就是一個簡單的計算在Teradata將其轉換爲日期。只需將其添加回'1960-01-01'即可。嘗試在TD服務器上運行此查詢。
select DATE '2017-01-01' date1, date '1960-01-01' + 20820 date2
DATE1和DATE2都應該是相同的。
嘗試它沒有put功能。除非日期字段實際上不是日期,否則我通常不必做任何特殊的加載SAS日期。當然,我想這取決於您使用何種方法加載數據 –
您可以發表您如何創建SAS變量以及如何將其加載到Teradata中的詳細示例?保持它可以用來重現問題的最小例子。 – Tom