Función ZONED( )
Convierte datos numéricos en datos de caracteres y agrega ceros a la izquierda de los datos de salida.
Sintaxis
ZONED(número; longitud)
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
número |
numérico |
El valor numérico para convertir en una cadena. Nota Si desea agregar ceros iniciales a un valor de caracteres que contenga una cadena numérica, debe usar la función VALUE( ) para convertir los caracteres en datos de tipo numérico antes de usar el valor como datos de entrada para ZONED( ). Si desea obtener más información, consulte Función VALUE( ). |
longitud | numérico |
La longitud de la cadena de salida. |
Salida
Carácter.
Ejemplos
Ejemplos básicos
Información de entrada de íntegro
Devuelve "235":
ZONED(235; 3)
Devuelve "00235" porque longitud es mayor que el número de dígitos de número; por lo tanto, se agregan dos ceros al principio del resultado:
ZONED(235; 5)
Devuelve "35" porque longitud es menor que el número de dígitos de número; por lo tanto, el dígito ubicado más a la izquierda se quita del resultado:
ZONED(235; 2)
Información de entrada decimal
Devuelve "23585", porque el formato de datos zonados no admite un separador decimal:
ZONED(235,85; 5)
Valor de entrada negativo
Devuelve "64489M", porque el número es negativo y "M" representa el dígito final 4:
ZONED(-6448,94; 6)
Devuelve "489J", porque la longitud es inferior a la cantidad de dígitos del número; por lo tanto, los dos dígitos ubicados más a la izquierda se truncan del resultado y el número es negativo y "J" representa el dígito final 1:
ZONED(-6448,91; 4)
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.
Sugerencia
Debe utilizar la función VALUE( ) para convertir el carácter en datos numéricos antes de utilizar el numérico como datos de entrada para ZONED( ).
COMMENT devuelve "0000254879" ASSIGN v_largo_cadena = 10 ASSIGN v_cant_decimales = 0 ZONED(VALUE(Número_de_empleado; v_cant_decimales); v_largo_cadena)
Armonización de un campo clave al unir tablas
Usted tiene dos tablas, Ar y Cliente, y necesita unirlas por el campo NúmClien para realizar más análisis. Cada una de las dos tablas tiene un campo NúmClien, pero el formato de datos es diferente:
- Campo numérico Ar (por ejemplo, 235)
- Cliente campo de 5 caracteres que completa los números con ceros al principio (por ejemplo, "00235")
Para unificar los campos al unir, de manera que las longitudes y los tipos de datos sean iguales, utiliza la función ZONED( ) para convertir el campo clave Ar NúmClien a un campo de caracteres con una longitud de 5 para que coincida con el formato del campo clave en Cliente:
OPEN Ar PRIMARY OPEN Cliente SECONDARY JOIN PKEY ZONED (NúmClien;5) FIELDS NúmClien Vencimiento Monto SKEY NúmClien UNMATCHED TO Ar_Clien OPEN PRESORT SECSORT
Observaciones
Cómo funciona
Esta función convierte los datos numéricos en datos de caracteres y agrega ceros al inicio a la salida. La función se suele utilizar para unificar 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.
Cuándo usar ZONED( )
Utilice la función para convertir un valor numérico positivo en un valor de caracteres que contenga ceros al inicio. Esto es útil para la normalizar los datos en campos que se utilizarán como campos clave.
Por ejemplo, si una tabla contiene número de facturas con la forma 100 en un campo numérico y otra tabla contiene números de facturas con la forma "00100" en un campo de caracteres, puede utilizar ZONED( ) para convertir el valor numérico 100 en el valor de caracteres "00100". Esto permite comparar números de facturas semejantes.
Longitud de la cadena y valores de retorno
Los ceros al inicio se agregan al valor de salida cuando el valor longitud es mayor que el número de dígitos en número. Cuando longitud es menor que la cantidad de dígitos en número, la salida se trunca desde el lado izquierdo. Si el valor de número tiene la misma longitud que longitud, entonces no se agregan ceros.
Números decimales
El tipo de datos de zona no incluye una coma decimal explícita.
Números negativos
Si el número de valor de entrada es negativo, el dígito ubicado más a la derecha se muestra como un carácter en el resultado:
- "}" para 0
- una letra entre "J" y "R" para los dígitos 1 al 9
ZONED( ) y la edición Unicode de Analytics
Si trabaja con la edición Unicode de Analytics, es necesario utilizar la función BINTOSTR( ) para visualizar correctamente el valor devuelto de la función ZONED( ). También necesita utilizar la función BINTOSTR( ) si desea utilizar el valor devuelto de la función ZONED( ) como un parámetro en otra función.