BookmarkSubscribeRSS Feed
Dica da Semana: Como transformar um número em texto, adicionando zeros à esquerda.
pkusniaruk
SAS Employee

Você já se deparou com a necessidade de tratar e padronizar campos numéricos, transformando-os em texto e incluindo zeros à esquerda?  

Essa costuma ser uma situação bem comum, alguns exemplos recorrentes são os campos de CPF e CEP, que muitas vezes são armazenados com tipos diferentes em tabelas diversos, e demandam um tratamento para que possamos aplicar merges, joins, ou até mesmo agrupamentos, de uma forma correta. 

A forma mais prática de realizar esse tipo de tratamento é utilizando o tipo “Z” e informando a quantidade total de caracteres a serem considerados no campo. Segue abaixo a sintaxe: 

 

 

COLUNA_TEXTO = PUT(COLUNA_NUMERICA, Zn.); 

 

 

Abaixo temos um exemplo prático, onde queremos transformar um campo numérico de cpf em um campo texto de 11 posições, complementando com 0 à esquerda: 

 

 

DATA SAIDA; 
           CPF_NUM = 123456789; 
           CPF_TXT = PUT(CPF_NUM, Z11.); 
RUN; 

 

 

Resultado: 

 

 

pkusniaruk_0-1636648491899.png

 

 

2 Comments
ederbal
Fluorite | Level 6

Muito Bom!

spina
Calcite | Level 5

Muito bom! 

E para quem quiser fazer o fluxo contrário, é só utilizar a função INPUT:

 

COLUNA_NUMERICA = INPUT(COLUNA_TEXTO, n.); 

 

DATA SAIDA; 
           CPF_TXT = "00123456789"; 
           CPF_NUM = INPUT(CPF_TXT, 11.); 
RUN;

 

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

Article Labels
Article Tags
Contributors