mysql - COALESCE() para campos en blanco(pero no nulos)
coalesce sql (3)
Puedes usar una expresión CASE
:
CASE WHEN Field1 <> '''' THEN Field1 ELSE Field2 END
Tengo dos campos que estoy comparando con la función COALESCE() MySQL. Por ejemplo, COALESCE(Field1, Field2)
. El problema es que Field1 a veces está en blanco pero no es nulo; ya que no es nulo, COALESCE()
selecciona Campo1, aunque COALESCE()
blanco. En ese caso, lo necesito para seleccionar Field2.
Sé que puedo escribir una sentencia if-then-else (CASE) en la consulta para verificar esto, pero ¿hay una función simple y agradable como COALESCE()
para los campos en blanco pero no en nulo?
Sé que llego tarde a la fiesta aquí, pero hay una manera de hacerlo mientras todavía uso COALESCE (). Esto funcionaría si su valor fuera NULL o ''''.
Select COALESCE(NULLIF(Field1,''''), Field2)
SELECT IFNULL(NULLIF(Field1,''''),Field2)
NULLIF devuelve un NULL si Field1 está en blanco, mientras que IFNULL devuelve Field1 si no está en blanco o NULL y Field2 de lo contrario.