2014-01-13 110 views
0

我正在嘗試轉換mmddyy10。日期,即11/11/2013date9。11NOV2013和 不斷失敗。有什麼建議麼。轉換mmddyy10。迄今9。

data dates; 
my_birthday = '11/11/2013'; 
date1 = input(input(my_birthday,date9.),date9.); 

put date1 ; 
run; 

回答

2
put(input(my_birthday,mmddyy10.),date9.) 

如果你真的希望它是字符。 INPUT將字符轉換爲數字,PUT將數字轉換爲字符。在這裏,你的字符就像MMDDYY10.,所以你INPUTMMDDYY10去獲得一個號碼,然後PUT轉換成你喜歡的格式(DATE9)。

認爲它是翻譯。 11/11/2013是法文,11NOV2013是西班牙文,它後面的數字是英文。 INPUT需要法語 - >英文字典,因此MMDDYY10.; PUT需要一個英文的西班牙字典,所以DATE9.

更好:將它存儲爲一個真正的日期(數字),只是使用格式,所以很容易來回交換。

+0

Joe,它進入一個查詢中,它會碰到一些db2表和一些sas原生表,所以我可能必須保持它那樣。再次感謝。 – LonelySoul

+1

SAS/ACCESS到DB2應處理SAS值和DB2日期值之間的日期轉換。 – DomPazz