为什么sas删除字符前的零



我有一个像这样的proc-sql,问题是sas在每个cust_comp_key之前删除零,例如FR_C_ 00000242转换为242,但我想保留242之前的zeo。。。

rsubmit;
data ca_m_service_2; 
set ca_m_service;
num_compte = input(substr(CUST_COMP_KEY, 6),Best12.);
run;
endrsubmit;

感谢的帮助

编辑,

我用过这个:

data ca_m_service_3; 
set ca_m_service;
 if length(substr(CUST_COMP_KEY, 6)) >= 8 then newsic=substr(CUST_COMP_KEY, 6);
    else newsic=repeat('0',8-length(substr(CUST_COMP_KEY, 6))-1)||substr(CUST_COMP_KEY, 6);

它似乎有效,但现在我需要将这个向量转换为数字,我该怎么做?

您可以使用z#。用前导零填充数字的格式。尝试:

num_compte = input(substr(CUST_COMP_KEY, 6),z8.);

或者这可能更直观:

data ca_m_service_2;
    set ca_m_service;
    format num_compte z8.;
    num_compte = substr(CUST_COMP_KEY, 6);
run;

相关内容

  • 没有找到相关文章

最新更新