UPPER función escalar

La función UPPER devuelve una serie en la que todos los caracteres se han convertido a caracteres en mayúsculas.

Leer diagrama de sintaxisOmitir el diagrama de sintaxis visualUPPER( string-expression,cadena-nombre-localidad,entero)

El esquema es SYSIBM.

expresión-serie
Expresión que especifica la cadena que se va a convertir. la expresión de cadena debe devolver un valor que sea una cadena de caracteres o gráficos incorporada. Un argumento de cadena de caracteres no debe ser un CLOB, y un argumento de cadena gráfica no debe ser un DBCLOB. Si string-expression es una cadena gráfica EBCDIC, no debe especificarse una cadena en blanco para locale-name-string. Si string-expression es un dato de bits, no se debe especificar locale-name-string.
cadena-nombre-localidad
Una constante de cadena o una variable de cadena de host que no sea un CLOB o DBCLOB que especifique un nombre de configuración regional válido. Si la cadena de nombre de localización no está en EBCDIC, se convierte a EBCDIC. La longitud de la cadena de nombre de ubicación debe estar en el rango de 1 a 255 bytes de la representación EBCDIC. El valor de cadena-nombre-localización no distingue entre mayúsculas y minúsculas y debe ser una localización válida. Para obtener información sobre las configuraciones regionales y sus convenciones de nomenclatura, consulte Convenciones de nomenclatura de configuraciones regionales. Algunos ejemplos de lugares son:
  • Fr_BE
  • Fr_FR@EURO
  • En_US
  • Ja_JP

El proceso de conversión viene determinado por el valor que se especifique para el nombre de la configuración regional, de la siguiente manera:

en blanco
Los caracteres en minúsculas a-z de SBCS se convierten en caracteres en mayúsculas A-Z de SBCS, y los caracteres con marcas diacríticas no se convierten. Si la cadena contiene caracteres MIXED o DBCS, los caracteres en minúscula de ancho completo a-z se convierten en caracteres en mayúscula latina de ancho completo A-Z. Para un rendimiento óptimo, especifique una cadena en blanco a menos que sus datos deban procesarse utilizando las reglas definidas por una configuración regional específica.
UNI
La conversión utiliza las capacidades de carcasa NORMAL y ESPECIAL, tal como se describe en Seleccionar las conversiones. No debe especificar UNI cuando la expresión de cadena es datos EBCDIC.
Inicio del cambioUNI_60fin del cambio
Inicio del cambioLa conversión utiliza Unicode Standard 6.0.0 y la capacidad de mayúsculas NORMAL, como se describe en Seleccionar las conversiones. No debe especificar UNI_60 cuando la expresión de cadena sea datos EBCDIC.fin del cambio
Inicio del cambioUNI_90fin del cambio
Inicio del cambioLa conversión utiliza Unicode Standard 9.0.0 y la capacidad de mayúsculas NORMAL, como se describe en Seleccionar las conversiones. No debe especificar UNI_90 cuando la expresión de cadena sea datos EBCDIC.fin del cambio
UNI_SIMPLE
Las conversiones de caja utilizan las capacidades de caja NORMALES descritas en Seleccionar las conversiones. UNI_SIMPLE no se puede utilizar con datos EBCDIC.
Nombre del entorno local
La configuración regional define las reglas para la conversión a mayúsculas.

El valor de la variable host no debe ser nulo. Si la variable host tiene una variable indicadora asociada, el valor de la variable indicadora no debe indicar un valor nulo. El nombre de la localidad debe ser:

  • justificado a la izquierda dentro de la variable anfitriona
  • rellenado a la derecha con espacios en blanco si su longitud es menor que la de la variable anfitriona y la variable anfitriona está en tipo de datos CHAR o GRAPHIC de longitud fija

Si no se especifica locale-name-string, la configuración regional se determina mediante el registro especial CURRENT LOCALE LC_CTYPE. Para obtener información sobre el registro especial, consulte el registro especial CURRENT LOCALE LC_CTYPE.

Si se hace referencia a la función UPPER en un índice basado en expresiones, se debe especificar locale-name-string

entero
Un valor entero que especifica el atributo de longitud del resultado. Si se especifica, el entero debe ser una constante entera en el rango de 1 a 32704 bytes en la representación del esquema de codificación de la expresión de cadena.

Si no se especifica un entero, el atributo de longitud del resultado es el mismo que la longitud de la expresión de cadena.

Para datos Unicode, el uso de la función UPPER puede resultar en expansión si se procesan ciertos caracteres. Por ejemplo, UPPER(UX'FB03') dará como resultado UX'004600460049 '. Debe asegurarse de que la cadena de resultados sea lo suficientemente grande como para contener el resultado de la expresión.

El resultado puede ser nulo; si el argumento es nulo, el resultado es el valor nulo.

Notas

Sintaxis alternativa:
UCASE es sinónimo de UPPER. UPPER debe utilizarse para cumplir con el estándar SQL.

ejemplos

Ejemplo 1:
Devuelve la cadena 'abcdef' en mayúsculas. Asume que la configuración regional en vigor está en blanco.
   SELECT UPPER('abcdef')
     FROM SYSIBM.SYSDUMMY1
El resultado es el valor «ABCDEF».
Ejemplo 2:
Devuelve la cadena 'ffi' en mayúsculas ('FFI'). Asume que la configuración regional en vigor es "UNI".
SELECT UPPER(UX'FB03')
  FROM SYSIBM.SYSDUMMYU;
Esto daría lugar a un error debido a la expansión que se produce cuando se procesan ciertos caracteres Unicode. Para evitar el error, necesitaría utilizar la siguiente declaración en su lugar:
SELECT UPPER(CAST(UX'FB03' AS VARCHAR(3))
  FROM SYSIBM.SYSDUMMYU;
El resultado de la declaración anterior es el valor «FFI».
Ejemplo 3:
Crear un índice EMPLOYEE_NAME_UPPER para la tabla EMPLOYEE basado en la función integrada UPPER con el nombre de configuración regional « Fr_FR@EURO ».
   CREATE INDEX EMPLOYEE_NAME_UPPER
      ON EMPLOYEE (UPPER(LASTNAME, 'Fr_FR@EURO', 60),
                   UPPER(FIRSTNAME, 'Fr_FR@EURO', 60),
                   ID);
El resultado es el valor «ABCDEF».