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.