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

Jak zřetězit řetězce v MySQL pomocí CONCAT()

MySQL má CONCAT() funkce, která umožňuje zřetězit dva nebo více řetězců. Funkce ve skutečnosti umožňuje jeden nebo více argumentů, ale její hlavní použití je zřetězení dvou nebo více řetězců.

V MySQL (a v jakémkoli počítačovém programovacím prostředí) je zřetězení řetězců operace spojování řetězců znaků end-to-end.

Zde je příklad:

SELECT CONCAT('Homer', ' ', 'Simpson') AS 'Full Name';

Výsledek:

+---------------+
| Full Name     |
+---------------+
| Homer Simpson |
+---------------+

Všimněte si, že jsem zde ve skutečnosti zřetězil 3 řetězce. Zřetězil jsem křestní jméno, příjmení plus mezeru.

Kdybych nepřidal prostor, vypadalo by to takto:

SELECT CONCAT('Homer', 'Simpson') AS 'Full Name';

Výsledek:

+--------------+
| Full Name    |
+--------------+
| HomerSimpson |
+--------------+

Což může nebo nemusí být výsledek, který hledáte.

Takže pokud to aplikujeme na databázi, pak dotaz může vypadat nějak takto:

SELECT CONCAT(FirstName, ' ', LastName) AS 'Full Name'
FROM Individuals
WHERE IndividualId = '1';

Výsledek:

+---------------+
| Full Name     |
+---------------+
| Homer Simpson |
+---------------+

Pokud spojujete více než dva řetězce a potřebujete mezeru (nebo jiný oddělovač), zvažte použití CONCAT_WS() funkce. To vám umožní určit oddělovač, který se má použít mezi jednotlivými řetězci. Oddělovač stačí zadat pouze jednou a použije se pro každý řetězec, který je zřetězen, takže nemusíte znovu psát mezi jednotlivými řetězci.

Argumenty NULL

CONCAT() funkce vrací NULL pokud je nějaký argument NULL .

Příklad:

SELECT CONCAT('Homer', NULL, 'Simpson') AS 'Full Name';

Výsledek:

+-----------+
| Full Name |
+-----------+
| NULL      |
+-----------+

Binární řetězce vs nebinární řetězce

Dokumentace MySQL uvádí:

Pokud jsou všechny argumenty nebinární řetězce, výsledkem je nebinární řetězec. Pokud argumenty obsahují libovolné binární řetězce, výsledkem je binární řetězec. Číselný argument je převeden na ekvivalentní formu nebinárního řetězce.


  1. Problém s obnovením databáze Heroku

  2. Zkontrolovat, zda soubor existuje nebo ne na serveru SQL?

  3. Získání ID řádku, které jsem aktualizoval na serveru SQL

  4. Top 7 pracovních míst, které vyžadují SQL