我的表中有一个日期字段作为字符"01jan2017"
,
我想将日期字段转换为这种格式"2018 / 01"
并且正斜杠之间应该有空格。
谢谢
如果您正在寻找的只是为了显示,那么这里有一个字符转换
data r; date = '01jan2017'd; date1 = compbl(put(year(date),best.)|| " / "||put(month(date),z2.)); run;
您需要执行三个关键步骤:
catx(' / ',year(input(date_char,date9.)),put(month(input(date_char,date9.)),z2.));
- 将日期转换为
date9.
格式以提取年份和月份, - 使用月份的
z2.
格式获取前导零, - 使用
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