En esta sección: |
Una expresión de caracteres utiliza constantes alfanuméricas, campos, operadores de concatenación o funciones para generar un valor alfanumérico.
Los campos de texto y los campos alfanuméricos soportan la asignación de valores guardados en campos de texto o expresiones alfanuméricas de comandos TABLE COMPUTE, MODIFY COMPUTE y DEFINE. Si se asigna un valor de campo de texto demasiado largo a un campo alfanumérico, el valor queda truncado antes de ser asignado al campo alfanumérico.
Una expresión de caracteres consta de:
COMPUTE STATE/A2 = 'NY';
DEFINE FILE EMPLOYEE TITLE/A19 = 'DR. ' | LAST_NAME; END
DEFINE FILE EMPLOYEE INITIAL/A1 = EDIT(FIRST_NAME, '9$$$$$$$$$$'); END
Nota: Las contantes alfanuméricas no admiten los caracteres que no se pueden imprimir.
Bajo ciertas condiciones, puede utilizar cadenas delimitadas por comillas que contengan comillas insertadas. Dentro de la cadena, puede usar una comilla simple o dos comillas sencillas, contiguas, para representar la comilla sencilla. Ambas se interpretan como una comilla sencilla.
Puede utilizar las cadenas delimitadas por comillas en los siguientes casos:
El ejemplo que sigue muestra el uso de comillas para la correcta interpretación de los valores de datos O'BRIEN:
TABLE FILE VIDEOTRK PRINT LASTNAME WHERE LASTNAME IS 'O'BRIEN' END
Puede escribir una expresión que concatene dos o más constantes alfanuméricas o campos alfanuméricos en una sola cadena de caracteres. Este operador de concatenación tiene dos formas, tal como se muestra en la tabla que sigue:
Símbolo |
Representa |
Descripción |
---|---|---|
| |
Concatenación débil |
Conserva los espacios en blanco finales. |
|| |
Concatenación fuerte |
Muda los espacios en blanco finales hasta el final de la cadena concatenada. |
El siguiente ejemplo usa la función EDIT para extraer la primera inicial de un primer nombre. Luego usa tanto la concatenación fuerte como la débil para producir el apellido, seguido por coma, seguido por la primera inicial, seguido por un punto:
DEFINE FILE EMPLOYEE FIRST_INIT/A1 = EDIT(FIRST_NAME, '9$$$$$$$$$'); NAME/A19 = LAST_NAME ||(', '| FIRST_INIT |'.'); END
TABLE FILE EMPLOYEE PRINT NAME WHERE LAST_NAME IS 'BANNING' END
La salida es:
NAME ---- BANNING, J.
La solicitud evalúa las expresiones como se explica a continuación:
, J.
Banning, J.
En tanto LAST_NAME tiene un formato A15 en el archivo máster EMPLOYEE, la concatenación fuerte suprime los espacios en blanco finales. Independientemente de la eliminación o inclusión de espacios en blanco, NAME, el nombre de campo generado, tiene una longitud de 19 caracteres (A19).
WebFOCUS |