sql >> Databasteknik >  >> RDS >> Mysql

KONCATERA flera fält till ett enda fält, med enstaka mellanrum

MySQL har CONCAT_WS - sammanfoga med separator

CONCAT_WS(' ', first, middle, maiden, last);

http://dev.mysql.com /doc/refman/5.0/en/string-functions.html#function_concat-ws

Som påpekats av andr nedan, se till att alla sammanlänkade fält innehåller NULL och inte en tom sträng ('' ) annars får du ett dubbelt mellanslag i utgången.

Fiol:http://sqlfiddle.com/#!2/1fe83/1

Ytterligare ansökan

Var därför försiktig om du i framtiden använder den här funktionen för att göra en liten CSV-lista, eftersom du inte får kommatecken för en NULL fält. Du måste göra en COALESCE(column, '') omslag runt varje nollbar kolumn.



  1. ORA-00984:kolumn inte tillåten här

  2. VÄLJ Från MySQL-vy med HAVING-sats Returnerar tom resultatuppsättning

  3. MySQL automatisk sträng till heltal gjutning i var klausul?

  4. Återställ MySQL DB med Unicode-tecken (arabiska och kurdiska) i .gz-format