GETVARIABLE función escalar

La función GETVARIABLE devuelve una representación de longitud variable en el formato de una serie de caracteres del valor actual de la variable de sesión identificada por el argumento.

Leer diagrama de sintaxisOmitir el diagrama de sintaxis visualGETVARIABLE( cadena-constante,valor predeterminado,CAST(NULL AS VARCHAR(1)))

El esquema es SYSIBM.

constante-serie
Especifica una constante de cadena que contiene el nombre de la variable de sesión cuyo valor se va a devolver. La constante de cadena:
  • Debe tener una longitud que no exceda los 142 bytes.
  • Debe contener el nombre completo de la variable, sin espacios en blanco incrustados. No deben especificarse identificadores delimitados.
  • No debe contener letras minúsculas ni caracteres que no puedan especificarse en un identificador normal.

El calificador de esquema para la variable debe ser:

valor predeterminado
Especifica una constante de cadena que contiene el valor que se devolverá si la variable especificada no existe o no es compatible con Db2. el valor predeterminado debe ser una constante de cadena que no exceda los 255 bytes.

Si no se especifica un valor predeterminado y la variable de sesión definida por el usuario especificada no existe o la variable de sesión integrada no es compatible con Db2, se devuelve un error.

CAST(NULL AS VARCHAR(1))
Especifica que se debe devolver un valor nulo si la variable especificada no existe o no es compatible con Db2.

El tipo de datos del resultado es VARCHAR(255). El resultado puede ser nulo.

El CCSID del resultado es el CCSID para datos mixtos Unicode.

Notas

La función GETVARIABLE no puede obtener los valores de variables globales integradas o variables globales definidas por el usuario.

ejemplos

  • Utilice la función GETVARIABLE para establecer el valor de la variable de host :hv1 en el nombre del plan que se está ejecutando actualmente. El nombre de la variable de sesión integrada que contiene el nombre del plan es SYSIBM.PLAN_NAME.

       SET :hv1 = GETVARIABLE('SYSIBM.PLAN_NAME'); 
    Si Db2 no admite el nombre de la variable de sesión, se devuelve un error. Por ejemplo, la siguiente declaración devuelve un error porque Db2 no admite una variable de sesión integrada que se llama SYSIBM.XYZ.
       SET :hv1 = GETVARIABLE('SYSIBM.XYZ'); 
  • Utilice la función GETVARIABLE para establecer el valor de la variable de host :hv2 en el valor para el usuario que se define en la variable de sesión definida por el usuario TEST. Si la variable de sesión no se ha establecido o no se encuentra, haga que la función devuelva el valor «TEST FAILED».

       SET :hv2 = GETVARIABLE('SESSION.TEST','TEST FAILED');
  • Utilice la función GETVARIABLE para establecer el valor de la variable de host :hv3 en una representación de cadena de los CCSID EBCDIC del SISTEMA. El nombre de la variable de sesión integrada que contiene los CCSID EBCDIC del sistema es SYSIBM.SYSTEM_EBCDIC_CCSID.

       SET :hv3 = GETVARIABLE('SYSIBM.SYSTEM_EBCDIC_CCSID');

    Independientemente de la configuración del campo DATOS MIXTOS en el panel de instalación (SÍ o NO), la función devuelve tres valores delimitados por comas que corresponden a los CCSID SBCS, MIXTO y GRÁFICO para el esquema de codificación.

    Por ejemplo, si el estado se emitiera en un sistema con el campo MIXED DATA en el panel de instalación igual a NO y el CCSID predeterminado del sistema de 37, se devolvería esta cadena:

    «37 65534 65534»

    Si el estado se emitiera en un sistema con el campo DATOS MIXTOS en el panel de instalación igual a SÍ y un CCSID predeterminado del sistema de 930 (el CCSID mixto para el sistema), se devolvería esta cadena:

    «290 930 300»