Funciones de tratamiento de nulos (DataStage®)

Puede utilizar las funciones de manejo de nulos en la etapa Transformer para manejar nulos en derivaciones.

Si utiliza columnas de entrada en una expresión de columna de salida, un valor nulo en cualquier columna de entrada hace que se escriba un valor nulo en la columna de salida. Sin embargo, puede utilizar las funciones de manejo de nulos para manejar los nulos de forma explícita.

Las funciones siguientes están disponibles en la categoría Manejo de nulos . Los corchetes indican que un argumento es opcional. Los ejemplos muestran la función tal como aparece en un campo Derivación en la etapa Transformer.

IsNotNull
Devuelve true cuando una expresión no se evalúa en el valor nulo.
  • Entrada: cualquiera
  • Salida: true/false (int8)
  • Ejemplos. Si el campo Derivación de una columna de salida contiene el código siguiente, la etapa de Transformer comprueba si la columna de entrada con el nombre mylink.mycolumn contiene un valor nulo. Si la columna de entrada no contiene un nulo, la columna de salida contiene el valor de la columna de entrada. Si la columna de entrada contiene un valor nulo, la columna de salida contiene la serie NULL.
    If IsNotNull(mylink.mycolumn) Then mylink.mycolumn Else "NULL"
    
IsNull
Devuelve true cuando una expresión se evalúa en el valor nulo.
  • Entrada: cualquiera
  • Salida: true/false (int8)
  • Ejemplos. Si el campo Derivación de una columna de salida contiene el código siguiente, la etapa de Transformer comprueba si la columna de entrada con el nombre mylink.mycolumn contiene un valor nulo. Si la columna de entrada contiene un nulo, la columna de salida contiene la serie NULL. Si la columna de entrada no contiene un valor nulo, la columna de salida contiene el valor de la columna de entrada.
    If IsNull(mylink.mycolumn) Then "NULL" Else mylink.mycolumn 
    
NullToEmpty
Devuelve una serie vacía si la columna de entrada es nula, de lo contrario devuelve el valor de la columna de entrada.
  • Entrada: columna de entrada
  • Salida: valor de columna de entrada o serie vacía
  • Ejemplos. Si el campo Derivación de una columna de salida contiene el código siguiente, la etapa de Transformer comprueba si la columna de entrada con el nombre mylink.mycolumn contiene un valor nulo. Si la columna de entrada contiene un nulo, la columna de salida contiene una serie vacía. Si la columna de entrada no contiene un valor nulo, la columna de salida contiene el valor de la columna de entrada.
    NullToEmpty(mylink.mycolumn)
    
NullToZero
Devuelve cero si la columna de entrada es nula, de lo contrario devuelve el valor de la columna de entrada.
  • Entrada: columna de entrada
  • Salida: valor de columna de entrada o cero
  • Ejemplos. Si el campo Derivación de una columna de salida contiene el código siguiente, la etapa de Transformer comprueba si la columna de entrada con el nombre mylink.mycolumn contiene un valor nulo. Si la columna de entrada contiene un nulo, la columna de salida contiene un cero. Si la columna de entrada no contiene un valor nulo, la columna de salida contiene el valor de la columna de entrada.
    NullToZero(mylink.mycolumn)
    
NullToValue
Devuelve el valor especificado si la columna de entrada es nula, de lo contrario devuelve el valor de la columna de entrada.
  • Entrada: columna de entrada, valor
  • Salida: valor de columna de entrada o valor
  • Ejemplos. Si el campo Derivación de una columna de salida contiene el código siguiente, la etapa de Transformer comprueba si la columna de entrada con el nombre mylink.mycolumn contiene un valor nulo. Si la columna de entrada contiene un nulo, la columna de salida contiene 42. Si la columna de entrada contiene un valor nulo, la columna de salida contiene el valor de la columna de entrada.
    NullToValue(mylink.mycolumn,42)
    
SetNull
Asigna un valor nulo a la columna de destino.
  • Entrada: -
  • Salida: -
  • Ejemplos. Si el campo Derivación de una columna de salida contiene el código siguiente, la etapa Transformer establece la columna de salida en nulo:
    setnull()