ejemplo - MySql Query reemplaza NULL con Empty String en Select
is null mysql (7)
¿Cómo se reemplaza un valor NULL en la selección con una cadena vacía? No parece muy profesional dar salida a valores "NULL".
Esto es muy inusual y basado en mi sintaxis, espero que funcione. Esperando una explicación por qué no.
select CASE prereq WHEN (prereq IS NULL) THEN " " ELSE prereq end from test;
Ejemplo de cómo se ve la tabla original, lo que quiero y qué impresiones reales:
original wanted what actually prints
-------- ------ ---------------------
value1 value1
NULL NULL
value2 value2
NULL NULL
Como se puede ver, hace lo contrario de lo que yo quiero, por lo tanto, intenté cambiar el IS NULL a IS NOT NULL y, por supuesto, eso no lo solucionó, también intenté intercambiar la posición de when case, que no funcionó.
Editar: Parece que las 3 soluciones que se dan a continuación hacen la tarea. Saludos
select if(prereq IS NULL ," ",prereq ) from test
select IFNULL(prereq,"") from test
select coalesce(prereq, '''') from test
Algunas de estas funciones integradas deberían funcionar:
Coalesce
Is Null
IfNull
Intente esto, esto también debería deshacerse de esas líneas vacías también:
SELECT prereq FROM test WHERE prereq IS NOT NULL;
La forma original es casi perfecta, solo tiene que omitir prereq después de CASE :
SELECT
CASE
WHEN prereq IS NULL THEN '' ''
ELSE prereq
END AS prereq
FROM test;
Prueba COALESCE
. Devuelve el primer valor no NULL.
SELECT COALESCE(`prereq`, '' '') FROM `test`
Prueba abajo;
select if(prereq IS NULL ," ",prereq ) from test
Si realmente debe generar todos los valores, incluidos los NULL:
select IFNULL(prereq,"") from test
SELECT COALESCE(prereq, '''') FROM test
Coalesce devolverá el primer argumento no nulo pasado de izquierda a derecha. Si todos los argumentos son nulos, devolverá nulo, pero estamos forzando una cadena vacía allí, por lo que no se devolverán valores nulos.
También tenga en cuenta que el operador COALESCE es compatible con SQL estándar. Este no es el caso de IFNULL . Entonces, es una buena práctica usar el primero. Además, tenga en cuenta que COALESCE admite más de 2 parámetros y repetirá sobre ellos hasta que se encuentre una coincidencia no nula.