Sabe aquele cpf que algum sem noção mandou em formato numérico e veio com menos de 11 dígitos na sua base?
Para deixá-lo com 11 dígitos e com zero na frente é simples, use o put() e o ‘z11.’ na sequência.
Por exemplo, você recebeu a tabela Clientes, na qual a coluna DOCUMENTO veio em formato numérico, ou seja, muitos não vão ter 11 dígitos, e você pode querer o CPF correto por diversos motivos. A conversão é simples, você utiliza um length apenas para garantir o comprimento da variável correto e manda bala no put:
data clientes_v2;
set clientes;
length cpf $11.;
cpf = put(documento, z11.);
run;
O length só funciona no campo texto, e para campo em formato numérico ?
Só para texto mesmo. Numérico não faz muito sentido, visto que o número de casas é a grandeza do número.
O mesmo vale para o CNPJ? Caso não funcione, como fazer com o CNPJ também?
Sim sim. A questao aqui é acrescentar zeros antes do numero. Porem, teria que mudar para z14