Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/05/2011, 16:29
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Funcion Concat SQL

Cita:
Lo hace bien. pero resulta que si el campo APELLIDOS esta vacio, resulta que no concatena nada, el campo nombrecompleto, queda vacio no deja ni el nombre.
Por que el campo no está vacío, sino que contiene un NULL. No es lo mismo.
El NULL es un puntero a un estado indeterminado, en cambio el vacío es un dato. Pero como el NULL es una indeterminación, toda operación de suma, resta, multiplicación, división, concatenación, etc. da como resultado NULL.
Así de simple.
Afortunadamente existen funciones que permiten administrar el problema, pero algunas de ellas dependen del DBMS.

Lo más simple es usar IFNULL(campo, valorareemplazar).
Algo así como
Código MySQL:
Ver original
  1. SELECT *, CONCAT(IFNULL(nombre), " " , IFNULL(apellidos)) nombrecompleto
  2. FROM clientes
  3. ORDER BY idclientes
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)