tengo una instrucción de selección donde quiero hacer de selección condicional como estoMySQL IFNULL ELSE
IFNULL(field_a,field_a,feild_b)
para que compruebe campo a si a es nulo, entonces el selecto habría campo B
es que posible ?
tengo una instrucción de selección donde quiero hacer de selección condicional como estoMySQL IFNULL ELSE
IFNULL(field_a,field_a,feild_b)
para que compruebe campo a si a es nulo, entonces el selecto habría campo B
es que posible ?
Uso 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, el procesamiento de las columnas de izquierda a derecha. Por lo tanto, en el ejemplo, si field_a
es nulo, se mostrará el valor field_b
. Sin embargo, esta función devolverá NULL si no hay ningún valor no nulo de las columnas especificadas.
Se admite en MySQL (Lo he utilizado en 4.1), SQL Server (ya v2000), Oracle 9i + ...
Sí, pero es sólo dos parámetros:
IFNULL(field_a,field_b)
Si field_a
no es nulo, se devolverá. De lo contrario, se devolverá field_b
.
Referencia: IFNULL
y otra forma a la piel ese gato (flexible para no sólo las comparaciones nulos) ...
select if(field_a is not null, field_a, field_b) from...
que apoyan el uso de COALESCE también. –
Una explicación tan clara de cómo funciona la función ... ¡Gracias! Actualizado el enlace roto. – Andrew