2010-07-15 19 views

Respuesta

0

Cuando tiene tres columnas: nombre, apellido, mid_name:

SELECT CASE 
    WHEN mid_name IS NULL OR TRIM(mid_name) ='' THEN 
     CONCAT_WS(" ", first_name, last_name) 
    ELSE 
     CONCAT_WS(" ", first_name, mid_name, last_name) 
    END 
FROM USER; 
0

Puede utilizar una consulta para obtener el mismo:

SELECT CONCAT(FirstName , ' ' , MiddleName , ' ' , Lastname) AS Name FROM TableName; 

Nota: Esta consulta devuelve si todas las columnas tienen algún valor si alguien es nulo o está vacío, entonces devolverá nulo para todo, significa que Name devolverá "NULL"

Para evitarlo, podemos utilizar la palabra clave IsNull para obtener lo mismo.

SELECT Concat(Ifnull(FirstName,' ') ,' ', Ifnull(MiddleName,' '),' ', Ifnull(Lastname,' ')) FROM TableName; 

Si alguien contiene valor nulo, el '' (espacio) se agregará al siguiente valor.

Cuestiones relacionadas