mysql - then - oracle isnull equivalent
mysql IFNULL ELSE (3)
Sí, pero solo son dos parámetros:
IFNULL(field_a,field_b)
Si field_a
no es nulo, se devolverá. De field_b
contrario, se devolverá field_b
.
Referencia: IFNULL
Tengo una declaración seleccionada donde quiero hacer una selección condicional como esta
IFNULL(field_a,field_a,feild_b)
para que compruebe el campo a si a es nulo, entonces el seleccionar sería el campo b
es eso posible ?
Use COALESCE :
SELECT COALESCE(field_a, field_b)
COALESCE es una función estándar ANSI que devuelve el primer valor no nulo de la lista de columnas especificadas, procesando las columnas de izquierda a derecha. Entonces en el ejemplo, si field_a
es nulo, se field_b
valor field_b
. Sin embargo, esta función devolverá NULL si no hay ningún valor no nulo de las columnas especificadas.
Es compatible con MySQL (lo he usado en 4.1), SQL Server (desde v2000), Oracle 9i + ...
y otra forma de despellejar a ese gato (flexible no solo por las comparaciones nulas) ...
select if(field_a is not null, field_a, field_b) from...