2014-10-06 82 views
0

我遇到了一個項目的大量問題,我似乎無法得到正確的結果。我試圖修改我的數據變量爲當前的日期時間格式。第一個數據是30Mar12:00:00:00。我被建議使用下面的代碼,但它返回的值如30mar60:5:30:00。我只想要日期組件,並且不知道數據如何以這種格式導出,因爲它不像Microsoft Access中的那樣。我已經嘗試了幾次這個代碼的MODS,但是再次出現完全空白或發送錯誤消息。SAS SQL Datepart函數返回奇數值

proc sql; update dataset set date = DATEPART(date); quit; 

任何意見將不勝感激。

+0

請告知什麼數據類型和格式變量日期在 – Longfish 2014-10-06 09:22:33

回答

2

我猜測變量日期是數字,格式爲DATETIME。完成轉換後,只需將格式更改爲DATE9即可。 SAS日期時間值是自1960年1月1日以來的秒數,而日期是自1960年1月1日以來的天數。兩者均以數字形式存儲,因此使用正確的格式顯示值是關鍵。下面的例子。

data _null_; 
a='30Mar12:00:00:00'dt; 
b=datepart(a); 
c=b; 
format a b datetime. c date9.; 
put a b c; 
run; 
+0

它是數字和格式是DATETIME16。和它的數字。這是有道理的,因爲我的約會全部變成了1960年。 – Hamish 2014-10-06 10:08:16

+0

解決了我的問題。你是一個拯救生命的基思。 – Hamish 2014-10-06 10:22:09

+0

沒問題。當您的數據從Access導入時,它顯然默認將該變量設置爲datetime – Longfish 2014-10-06 10:47:56