Как преобразовать поле даты в этот формат 2018/01 - PullRequest
0 голосов
/ 29 мая 2018

У меня есть одно поле даты в моей таблице как char "01jan2017",

Я хочу преобразовать поле даты в этот формат "2018 / 01" и между косой чертой должен быть пробел.

Спасибо

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Необходимо выполнить три ключевых шага:

catx(' / ',year(input(date_char,date9.)),put(month(input(date_char,date9.)),z2.));
  1. Преобразовать дату в формат date9., чтобы извлечь год и месяц,
  2. Использоватьz2. формат месяца, чтобы получить ведущий ноль,
  3. Используйте Catx() для объединения года, месяца & '/'.

Полный код:

data want;
date_char="01jan2017";
dateYYMM=catx(' / ',year(input(date_char,date9.)),put(month(input(date_char,date9.)),z2.));
run;

Выход:

 date_char=01jan2017 dateYYMM=2017 / 01
0 голосов
/ 29 мая 2018

Если то, что вы ищете, только для отображения, то вот преобразование символов

data r;
  date = '01jan2017'd;
  date1 = compbl(put(year(date),best.)|| " / "||put(month(date),z2.));
run;
...