簡體   English   中英

如何在SAS(大學)中將char字符轉換為日期?

[英]How to convert char character to date in SAS (University)?

這是一個非常簡單的問題,已經在多個博客中提出。 但是,我正在嘗試各種方法,但沒有用。 如果發生這種情況是因為我使用SAS University或輸入值時做錯了事而發生。

我正在嘗試將字符串格式的列轉換為日期格式。

/*Dataset for practice*/
data test;
  input date_1 $ value_1;
  cards;
20151102 1000
20151010 500
;
run;

data test_new; 
  set test; 
  date_1_new = input(date_1,yymmdd10.);
format date_1_new yymmdd10.;
run;

上面的腳本返回date_1_new的缺失值。 對於我來說,似乎很奇怪的是,下面的代碼使用數字值,將數字簡單地轉換為文本,然后轉換為日期。 它正在工作。 這是相同的原理,但是有效。

/*Dataset for practice*/
data test;
  input date_1 value_1;
  cards;
20151102 1000
20151010 500
;
run;

data test_new; 
  set test; 
  date_1_new = input(put(date_1,8.),yymmdd10.);
format date_1_new yymmdd10.;
run;

為什么第一個代碼不起作用? 看來我在做同樣的事情...注意:使用yymmdd8時會發生相同的錯誤。

確保您的輸入行實際上在字段之間有空格,而沒有其他字符。 這可能會弄亂您的原始INPUT語句。

同樣,您的INPUT()函數在信息格式上使用寬度10,但您的數據僅8個字符長。 因此,如果變量的字符9或10中包含一些非數字,非空格字符,則INPUT()函數調用將失敗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM