sql >> Databáze >  >> RDS >> Mysql

CONCAT více polí do jednoho pole s jednou mezerou

MySQL má CONCAT_WS - zřetězit se separátorem

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

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

Jak zdůraznil andr níže se ujistěte, že všechna zřetězená pole obsahují NULL a ne prázdný řetězec ('' ) jinak dostanete na výstupu dvojitou mezeru.

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

Další aplikace

Buďte proto opatrní, pokud v budoucnu použijete tuto funkci k vytvoření malého CSV seznamu, protože za NULL nedostanete čárku pole. Museli byste provést COALESCE(column, '') obal kolem každého sloupce s možnou hodnotou Null.



  1. OperationalError:(2002, nelze se připojit k místnímu serveru MySQL přes soket '/var/run/mysqld/mysqld.sock' (2))

  2. Vytvoření vlastní TinyURL

  3. chyba mysql:Tabulka mysql.innodb_table_stats nebyla nalezena

  4. Jak Atand() funguje v PostgreSQL