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