LOWER función escalar

La función LOWER devuelve una serie en la que todos los caracteres se convierten a caracteres en minúsculas.

Leer diagrama de sintaxisOmitir el diagrama de sintaxis visualLOWER( expresión de cadena,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.

El argumento también puede ser un tipo de datos numérico. El argumento numérico se convierte implícitamente a un tipo de datos VARCHAR.

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 Creación y uso de bibliotecas de vínculos dinámicos (DLL ). 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 mayúsculas A-Z de SBCS se convierten en caracteres en minú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 latinos en mayúsculas de ancho completo A-Z se convierten en caracteres en minúsculas 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 caracteres en minúscula.

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 es de tipo carácter de longitud fija o datos gráficos

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. Sin embargo, si un índice hace referencia a la función LOWER, el local se determina de la siguiente manera (en orden) para determinar si el índice se puede utilizar:

  • En el momento de la preparación: utilizando el valor en el registro especial CURRENT LOCALE LC_CTYPE
  • En el momento de la vinculación: utilizando el valor del campo LOCALE LC_CTYPE en el panel de instalación DSNTIPF

Si el índice se elige en la ruta de acceso, la configuración regional en el registro especial CURRENT LOCALE LC_CTYPE debe permanecer igual en tiempo de ejecución, y preparar o vincular tiempo. Para evitar esta dependencia, no omita locale-name-string.

Si se hace referencia a la función LOWER en un índice basado en expresiones, se debe especificar locale-name-string. Consulte la sección de ejemplos para ver un ejemplo de cómo se puede utilizar el índice en una consulta.

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 LOWER puede resultar en expansión si se procesan ciertos caracteres. Por ejemplo, LOWER ('Ì') —UX'00CC'— dará como resultado UX'006903070300' (si la configuración regional LT_LT está en vigor en ese momento). Debe asegurarse de que la longitud del resultado 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:
LCASE es sinónimo de LOWER. LOWER debe utilizarse para cumplir con el estándar SQL.

ejemplos

Ejemplo 1:
Devuelve los caracteres del valor de la variable de host NAME en minúsculas. NOMBRE tiene un tipo de datos VARCHAR(30) y un valor de «Christine Smith». Asume que la configuración regional en vigor está en blanco.
  SELECT LCASE(:NAME)
    FROM SYSIBM.SYSDUMMY1;
El resultado es el valor «christine smith».
Ejemplo 2:
Devuelve la minúscula de «Ì». Supongamos que la configuración regional en vigor es LT_LT.
SELECT LOWER('Ì')
  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 LOWER(VARCHAR('Ì', 3))
  FROM SYSIBM.SYSDUMMYU;
El resultado de la declaración anterior es el valor «UX'006903070300 ».
Ejemplo 3:
Cree un índice EMPLOYEE_NAME_LOWER para la tabla EMPLOYEE basado en la función integrada LOWER con el nombre de configuración regional 'LT_LT'.
  CREATE INDEX EMPLOYEE_NAME_LOWER
    ON EMPLOYEE (LOWER(LASTNAME, 'LT_LT', 60),
                 LOWER(FIRSTNAME, 'LT_LT', 60),
                 ID);
Ejemplo 4:
Cree un índice LNAME para la tabla T1 basado en la función LOWER con el valor local predeterminado, ' '. A continuación, especifique la misma expresión en una consulta.
   CREATE INDEX LNAME
     ON TI (LOWER(LASTNAME, ' '));

   SELECT LOWER(LASTNAME, ' ')
     FROM TI
     WHERE LOWER(LASTNAME, ' ') = 'smith'; 
Ejemplo 5: 
Cree un índice LNAME basado en la función LOWER con un nombre de configuración regional «FR_CA» para la tabla T1. A continuación, especifique la misma expresión en una consulta, excepto que se omite locale-name-string.
   CREATE INDEX LNAME
     ON TI (LOWER(LASTNAME, 'FR_CA')); 
Si la consulta es una sentencia dinámica y el registro especial CURRENT LOCALE LC_CTYPE contiene 'FR_CA':
   SELECT LASTNAME
     FROM TI
     WHERE LOWER(LASTNAME)='smith';

En el momento de la preparación, la configuración regional 'FR_CA' en CURRENT LOCALE LC_CTYPE se utiliza para LOWER(LASTNAME) en el predicado para determinar si el índice LNAME puede utilizarse para el acceso al índice. Si el índice LNAME se utiliza en la selección de la ruta de acceso, en tiempo de ejecución, la configuración regional en CURRENT LOCALE LC_CTYPE debe permanecer igual.

Si la consulta es una declaración estática y se ha establecido la configuración regional «FR_CA» en el campo LOCALE LC_CTYPE del panel de instalación DSNTIPF:
   SELECT LASTNAME
     FROM TI
     WHERE LOWER(LASTNAME)='smith';

En el momento de la vinculación, se utiliza el local 'FR_CA' en el archivo LOCALE LC_CTYPE del panel de instalación DSNTIPF para LOWER(LASTNAME) en el predicado para determinar si el índice LNAME se utiliza para el acceso al índice. Si se elige el índice LNAME en la selección de la ruta de acceso, la configuración regional en el registro especial CURRENT LOCALE LC_CTYPE debe contener 'FR_CA'.