Função LEADINGZEROS( )
Adiciona zeros à esquerda a uma cadeia de caracteres ou a um número.
Sintaxe
LEADINGZEROS(cadeia/número; comprimento)
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
cadeia/número | caractere numérico |
O campo, expressão ou valor literal ao qual serão adicionados zeros à esquerda. Espaços à esquerda e à direita são cortados automaticamente de valores de caracteres e do resultado de expressões de caracteres antes da adição de zeros à esquerda. |
comprimento | numérico |
O comprimento da cadeia de saída. Nota Qualquer valor em cadeia/número maior que comprimento será truncado à esquerda. |
Saída
Caractere.
Exemplos
Exemplos básicos
Entrada de caracteres
Retorna "000235" porque comprimento é maior do que o número de caracteres em cadeia/número, portanto, dois zeros à esquerda são adicionados ao resultado:
LEADINGZEROS("235"; 6)
Retorna "35" porque comprimento é menor do que o número de caracteres em cadeia/número. Portanto, o resultado é truncado à esquerda:
LEADINGZEROS("235"; 2)
Entrada de inteiro
Retorna "235":
LEADINGZEROS(235; 3)
Retorna "00235" porque comprimento é maior do que o número de dígitos em cadeia/número, portanto, dois zeros à esquerda são adicionados ao resultado:
LEADINGZEROS(235; 5)
Entrada de decimal
Retorna "023585" porque LEADINGZEROS( ) remove a casa decimal:
LEADINGZEROS(235,85; 6)
Entrada de valores negativos
Retorna "0644894" porque LEADINGZEROS( ) remove o sinal de negativo:
LEADINGZEROS(-6448,94; 7)
Exemplos avançados
Adição de zeros à esquerda de um campo de caracteres que contém números
O campo Número_Funcionário contém o valor "254879". Você precisa converter o valor para uma cadeia de 10 dígitos com zeros à esquerda.
COMMENT retorna "0000254879" ASSIGN v_comprimento_cadeia = 10 LEADINGZEROS(Número_Funcionário; v_comprimento_cadeia)
Harmonização de um campo-chave durante o relacionamento de tabelas
Você tem duas tabelas, Ar e Cliente, e pretende relacioná-las pelo campo-chave de número do cliente para análises posteriores. No entanto, os dois campos-chave têm formatos de dados diferentes, o que impede a correspondência dos valores:
Tabela | Campo-chave | Tipo de dados | Comprimento do campo | Exemplo |
---|---|---|---|---|
Ar | NumCliente | Numérico | 4 | 4455 |
Cliente | NumCliente | Caractere |
6 (preenche os números com zeros à esquerda) |
"004455" |
Para harmonizar os campos ao relacionar, você cria um campo calculado na tabela Ar que usa a função LEADINGZEROS( ). Quando você relaciona usando o campo calculado:
OPEN Clientes INDEX ON NumCliente TO Cliente_em_NumCliente OPEN Ar COMMENT Criar o campo calculado Zeros_NumCliente que converte o campo NumCliente para o tipo de dados de caractere e adiciona zeros à esquerda. DEFINE FIELD Zeros_NumCliente COMPUTED LEADINGZEROS(NumCliente;6) COMMENT Relacionar a tabela Ar usando o campo calculado Zeros_NumCliente recém-criado. DEFINE RELATION Zeros_NumCliente WITH Cliente INDEX Cliente_em_NumCliente
Observações
Como funciona?
Essa função adiciona zeros à esquerda na saída se o comprimento da saída especificado for maior que o comprimento de um valor de entrada. A função aceita vários tipos de entradas em caracteres e numéricas e gera uma cadeia de caracteres. A função funciona da mesma forma nas edições Unicode e não Unicode do Analytics.
A função é comumente usada para normalizar campos que exigem zeros à esquerda como, por exemplo, campos de número de cheque, número de pedido de compra e número de fatura.
Comprimento da entrada e valores de saída
Comprimento da entrada | Valores de saída |
---|---|
cadeia/número menor que comprimento | zeros à esquerda adicionados |
cadeia/número igual a comprimento | sem adição de zeros |
cadeia/número maior que comprimento | valores truncados à esquerda |
Sinal de negativo, separador de milhares e ponto decimal
Valores de entrada | Resultado |
---|---|
Numérico |
LEADINGZEROS( ) remove o sinal de negativo, o separador de milhares e o ponto decimal de valores de entrada numéricos. Os símbolos removidos não são incluídos no comprimento do valor de entrada. |
Caractere |
LEADINGZEROS( ) não remove o sinal de negativo, o separador de milhares e o ponto decimal de valores de entrada de caractere. Os símbolos removidos são incluídos no comprimento do valor de entrada. |