when as400 sql null db2

as400 - ¿Funciona IsNull en DB2 SQL?



db2 isnull select (7)

No estoy familiarizado con DB2, pero ¿has probado COALESCE?

es decir:

SELECT Product.ID, COALESCE(product.Name, "Internal") AS ProductName FROM Product

¿Hay un rendimiento equivalente a la función isnull para DB2?

Imagine que algunos de nuestros productos son internos, por lo que no tienen nombres:

Select product.id, isnull(product.name, "Internal) From product

Podría regresar:

1 Socks 2 Shoes 3 Internal 4 Pants


Por lo que vale, COALESCE es similar pero

IFNULL(expr1, default)

es la coincidencia exacta que está buscando en DB2.

COALESCE permite múltiples argumentos, devolviendo la primera expresión NON NULL, mientras que IFNULL solo permite la expresión y el valor predeterminado.

Así

SELECT product.ID, IFNULL(product.Name, "Internal") AS ProductName FROM Product

Te da lo que estás buscando, así como las respuestas anteriores, solo para completar.


Creo que la función COALESCE es parcialmente similar a la isnull , pero pruébalo.

¿Por qué no utiliza funciones de manejo nulo a través de programas de aplicación? Es una mejor alternativa.


Función COALESCE misma función ISNULL Nota. debe usar la función COALESCE con el mismo tipo de datos de la columna que marque como nulo.


Select Product.ID, VALUE(product.Name, "Internal") AS ProductName from Product


En DB2 hay una función NVL (field, value if null).

Ejemplo:

SELECCIONAR ID, NVL (NOMBRE, "interno") COMO NOMBRE, NVL (PRECIO, 0) COMO PRECIO DEL PRODUCTO CON UR;


Espero que esto pueda ayudar a alguien más

SELECT .... FROM XXX XX WHERE .... AND( param1 IS NULL OR XX.param1 = param1 )