Función LEADINGZEROS( )
Agrega ceros iniciales a una cadena de caracteres o un número.
Sintaxis
LEADINGZEROS(cadena/número; longitud)
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
cadena/número | carácter numérico |
El campo, la expresión o el valor literal al que se deben agregar ceros iniciales. Antes de agregar ceros iniciales, se cortan automáticamente los espacios iniciales y finales de los valores de caracteres y del resultado de las expresiones de caracteres. |
longitud | numérico |
La longitud de la cadena de salida. Nota Cualquier valor de cadena/número que supere la longitud se corta desde la izquierda. |
Salida
Carácter.
Ejemplos
Ejemplos básicos
Valor de entrada de caracteres
Devuelve "000235" porque longitud es mayor que el número de caracteres de cadena/número; por lo tanto, se agregan ceros iniciales al principio del resultado:
LEADINGZEROS("235"; 6)
Devuelve "35" porque longitud es menor que el número de caracteres de cadena/número; por lo tanto, el resultado se corta desde la derecha:
LEADINGZEROS("235"; 2)
Información de entrada de íntegro
Devuelve "235":
LEADINGZEROS(235; 3)
Devuelve "00235" porque longitud es mayor que el número de dígitos de cadena/número; por lo tanto, se agregan dos ceros al principio del resultado:
LEADINGZEROS(235; 5)
Información de entrada decimal
Devuelve "023585", porque LEADINGZEROS( ) quita el separador decimal:
LEADINGZEROS(235,85; 6)
Valor de entrada negativo
Devuelve"0644894", porque LEADINGZEROS( ) quita el signo negativo:
LEADINGZEROS(-6448,94; 7)
Ejemplos avanzados
Agregar ceros iniciales a un campo de caracteres que contiene números
El campo Número_de_empleado contiene el valor "254879". Debe convertir el valor en una cadena de 10 dígitos con ceros al principio.
COMMENT devuelve "0000254879" ASSIGN v_largo_cadena = 10 LEADINGZEROS(Número_de_empleado; v_largo_cadena)
Armonización de un campo clave al relacionar tablas
Usted tiene dos tablas, Ar y Cliente, y planea relacionarlas por el campo clave de número de cliente para realizar más análisis. Sin embargo, los dos campos tienen diferentes formatos de datos, lo cual impide la coincidencia de los valores:
Tabla | Campo clave | Tipo de datos | Longitud de campo | Ejemplo |
---|---|---|---|---|
Ar | NúmClien | Numérico | 4 | 4455 |
Cliente | NúmClien | Carácter |
6 (rellena los números con ceros iniciales) |
"004455" |
Para unificar los campos al relacionar, crea un campo calculado en la tabla Ar que utiliza la función LEADINGZEROS( ). Después relaciona utilizando el campo calculado:
OPEN Cliente INDEX ON NúmClien TO Cliente_por_NúmClien OPEN Cuentas_por_cobrar COMMENT Cree el campo calculado NúmClien_Ceros que convierte el campo NúmClien al tipo de datos de carácter y le agrega ceros a la izquierda. DEFINE FIELD NúmClien_Ceros COMPUTED LEADINGZEROS(NúmClien;6) COMMENT Relacione la tabla Ar con el campo calculado NúmClien_Ceros recién creado. DEFINE RELATION NúmClien_Ceros WITH Cliente INDEX Cliente_en_NúmCliente
Observaciones
Cómo funciona
Esta función agrega ceros iniciales a la salida si la longitud de la salida que usted especifica es superior a la salida de un valor de entrada. La función acepta varios tipos de entradas de caracteres y numéricas, y genera una cadena de caracteres. La función trabaja de la misma manera en las ediciones Unicode y no Unicode de Analytics.
La función se suele utilizar para estandarizar los campos que requieren ceros al inicio, por ejemplo, los campos de número de cheque, número de orden de compra y número de factura.
Longitud de la entrada y valores de salida
Longitud de la entrada | Valores de salida |
---|---|
cadena/número inferior a longitud | se agregan ceros al principio |
cadena/número igual a longitud | no se agregan ceros |
cadena/número superior a longitud | valores cortados desde la izquierda |
Signo negativo, separador de miles y separador decimal
Valores de entrada | Resultado |
---|---|
Numérico |
LEADINGZEROS( ) quita el signo negativo, el separador de miles y el separador decimal de los valores de entrada numéricos. Los símbolos que se quitan no se incluyen en la longitud del valor de entrada. |
Carácter |
LEADINGZEROS( ) no quita el signo negativo, el separador de miles ni el separador decimal de los valores de entrada de caracteres. Los símbolos que se quitan se incluyen en la longitud del valor de entrada. |