sql >> Databasteknik >  >> RDS >> Mysql

Hur man sammanfogar strängar i MySQL med CONCAT()

MySQL har CONCAT() funktion, som låter dig sammanfoga två eller flera strängar. Funktionen tillåter faktiskt ett eller flera argument, men dess huvudsakliga användning är att sammanfoga två eller flera strängar.

I MySQL (och i alla datorprogrammeringsmiljöer) är strängsammansättning operationen att sammanfoga teckensträngar från början till slut.

Här är ett exempel:

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

Resultat:

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

Observera att jag faktiskt sammanfogade 3 strängar här. Jag sammanfogade förnamnet, efternamnet plus ett mellanslag.

Om jag inte lagt till utrymmet hade det sett ut så här:

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

Resultat:

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

Vilket kanske eller inte är resultatet du letar efter.

Så om vi tillämpar detta på en databas, kan frågan se ut ungefär så här:

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

Resultat:

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

Om du sammanfogar mer än två strängar och du behöver ett mellanslag (eller annan avgränsare), överväg att använda CONCAT_WS() fungera. Detta gör att du kan ange en separator som ska användas mellan varje sträng. Du behöver bara ange separatorn en gång, och den används på varje sträng som är sammanlänkade, vilket gör att du slipper skriva om den mellan varje sträng.

NULL-argument

CONCAT() funktion returnerar NULL om något argument är NULL .

Exempel:

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

Resultat:

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

Binära strängar vs icke-binära strängar

MySQL-dokumentationen säger:

Om alla argument är ickebinära strängar blir resultatet en ickebinär sträng. Om argumenten inkluderar några binära strängar, blir resultatet en binär sträng. Ett numeriskt argument konverteras till dess ekvivalenta icke-binära strängform.


  1. Hur pratar Access med ODBC-datakällor? Del 5

  2. Javascript-datum till sql-datumobjekt

  3. Felsökning:För många omdirigeringar

  4. 3 sätt att få dagnamnet från ett datum i MariaDB