Hoy estuve revisando una sentencia SQL de eflyer para un buscador de celulares y beneficiarios, y resulta que a veces funcionaba y a veces no jalaba…, revisando la sentencia SQL me doy cuenta que tenia un CONCAT en el Where.., algo así:
CONCAT(nombre, apellido) LIKE ‘%jose%’
Pero resulta que a veces en el campo apellido tenia NULL, y el CONCAT me regresaba NULL, no me respetaba el nombre.
Leyendo sobre la función de concatenar me doy cuenta que si algun campo tiene valor nulo, siempre regresa NULL, sin importar que otro campo si tenga valor., entonces la solución es filtrar los nulos y ponerlos como candenas vacia., algo así
CONCAT( IF(nombre IS NULL,”,nombre) , IF(apellido IS NULL, ”, apellido) ) LIKE ‘%jose’
Y listo!, con esto ya funciona todo!.., así que ya saben!, no se fien de los valores nulos.
Gracias por la información amigo.
Muchas gracias, me funcionó bien