如何将SAS日期格式从01/01/00转换为01-01-00?
解决SAS日期格式分隔符替换问题
要将SAS日期从01/01/00格式转为01-01-00,核心是调整日期格式的分隔符规则,以下是两种直接可行的方案:
方案一:使用SAS内置短横线分隔格式
SAS原生提供了以短横线作为分隔符的日期格式ddmmyydw.,直接替换你代码里的ddmmyy8.即可:
data stocks; set sashelp.stocks; format date ddmmyyd8.; run;
ddmmyyd8.中的d代表短横线分隔,8是格式宽度,刚好匹配dd-mm-yy的字符长度,执行后日期会自动显示为01-01-00样式。
方案二:自定义格式(按需使用)
如果需要更灵活的分隔符控制,可通过PROC FORMAT创建自定义格式:
proc format; picture mydate low-high = '%0d-%0m-%0y' (datatype=date); run; data stocks; set sashelp.stocks; format date mydate.; run;
这种方式适合需要自定义其他分隔符(如.)的场景,%0d、%0m、%0y分别代表补零的日、月、两位年份。
内容的提问来源于stack exchange,提问作者Robyn O'Halloran
相关产品推荐
相关产品推荐

