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
)