Измените формат с datetime на DDMMYYP10 - PullRequest
0 голосов
/ 01 октября 2019

Я много пытался преобразовать столбец LOADTIME (формат Datetime20.) В DDMMYYP10. Но это не работает.

Я пробовал это также просто с помощью PUT или INPUT, а также DATEPART, но ничего не работает.

PROC SQL;
    UPDATE SERVER.VIEWTABLE V
    SET 'Load_Time__c'n = INPUT(PUT(V.LOAD_TIME, DATETIME20.), DDMMYYP10.);
QUIT;

Результат приведенного ниже кода ничего не работает, он работаетно в поле Load_Time__c ничего не написано.

1 Ответ

0 голосов
/ 01 октября 2019

SAS хранит значения DATETIME как количество секунд, а значения DATE - количество дней. Поэтому перед изменением формата отображения, прикрепленного к переменной, необходимо изменить значения, хранящиеся в переменной. Вы можете использовать функцию DATEPART () для преобразования значения datetime в значение даты.

Вероятно, будет проще создать новый набор данных с новой переменной, чем пытаться изменить существующий набор данных. Или, возможно, новый вид?

data want ;
  set have ;
  LOAD_TIME = datepart(LOAD_TIME);
  format LOAD_TIME ddmmyyp10.;
run;
...