Función escalar BINARY

La función BINARY devuelve una representación de serie de gráficos binarios de longitud fija de varios tipos de datos.

Leer el esquema de sintaxisOmitir el esquema de sintaxis visualBINARY(expresión-serie , entero)

El esquema es SYSIBM.

expresión-serie
Expresión que devuelve un valor de cualquier tipo de datos de serie de caracteres, serie gráfica o serie binaria.
entero
Un valor de constante entera, que especifica el atributo de longitud del tipo de datos BINARY resultante. El valor debe estar entre 1 y 255. Si no se especifica entero, el atributo de longitud del resultado es el menor de los valores siguientes:
  • La longitud máxima para el tipo de datos BINARY
  • El atributo de longitud para el tipo de datos de expresión-serie expresado en bytes:
    • El atributo de longitud, si expresión-serie es una serie binaria, una serie de caracteres que es FOR BIT DATA, o una serie de caracteres con unidades de serie de OCTETS
    • El atributo de longitud multiplicado por 2, si expresión-serie es una serie gráfica con unidades de serie de CODEUNITS16 o bytes dobles
    • El atributo de longitud multiplicado por 4, si expresión-serie es una serie de caracteres o una serie gráfica con unidades de serie de CODEUNITS32

Si expresión-serie es una serie vacía y el argumento entero no se especifica, se devuelve un error (SQLSTATE 42815).

El resultado de la función es un valor BINARY. Si el primer argumento puede ser nulo, el resultado puede ser nulo; si el primer argumento es nulo, el resultado es el valor nulo.

La longitud real es la misma que el atributo de longitud del resultado. Si la longitud de expresión-serie que se convierte en una serie binaria es menor que el atributo de longitud del resultado, el resultado se rellena con ceros hexadecimales hasta la longitud del resultado. Si la longitud de expresión-serie que se convierte en una serie binaria es mayor que el atributo de longitud del resultado, se produce un truncamiento:

Se devuelve un aviso (SQLSTATE 01004) en las siguientes situaciones:
  • El primer argumento es una serie de caracteres o gráfica (distinta de CLOB o DBCLOB) y se truncan los caracteres que no sean caracteres en blanco.
  • El primer argumento es una serie binaria (distinta a BLOB) y se truncan los ceros no hexadecimales.

Ejemplos

  1. La siguiente función devuelve una serie binaria de longitud fija con un atributo de longitud 1 y un valor BX'00'.
       SELECT BINARY('',1)
         FROM SYSIBM.SYSDUMMY1
  2. La siguiente función devuelve una serie binaria de longitud fija con un atributo de longitud 5 y un valor BX'4B42480000'.
       SELECT
    BINARY('KBH',5)
         FROM SYSIBM.SYSDUMMY1
  3. La siguiente función devuelve una serie binaria de longitud fija con un atributo de longitud 3 y un valor BX'4B4248'.
       SELECT
    BINARY('KBH') 
         FROM SYSIBM.SYSDUMMY1
  4. La siguiente función devuelve una serie binaria de longitud fija con un atributo de longitud 3 y un valor BX'4B4248'.
       SELECT
    BINARY('KBH ',3) 
         FROM SYSIBM.SYSDUMMY1
  5. La siguiente función devuelve una serie binaria de longitud fija con un atributo de longitud 3, un valor BX'4B4248' y un aviso (SQLSTATE 01004).
       SELECT BINARY('KBH 93',3) 
         FROM SYSIBM.SYSDUMMY1