Mysql
 sql >> Database >  >> RDS >> Mysql

Come concatenare stringhe in MySQL con CONCAT()

MySQL ha il CONCAT() funzione, che consente di concatenare due o più stringhe. La funzione in realtà consente uno o più argomenti, ma il suo utilizzo principale è concatenare due o più stringhe.

In MySQL (e in qualsiasi ambiente di programmazione per computer), la concatenazione di stringhe è l'operazione di unione di stringhe di caratteri end-to-end.

Ecco un esempio:

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

Risultato:

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

Nota che in realtà ho concatenato 3 stringhe qui. Ho concatenato il nome, il cognome, più uno spazio.

Se non avessi aggiunto lo spazio, sarebbe stato così:

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

Risultato:

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

Quale potrebbe essere o meno il risultato che stai cercando.

Quindi, se lo applichiamo a un database, la query potrebbe essere simile a questa:

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

Risultato:

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

Se stai concatenando più di due stringhe e hai bisogno di uno spazio (o di un altro separatore), considera l'utilizzo di CONCAT_WS() funzione. Ciò consente di specificare un separatore da utilizzare tra ciascuna stringa. Devi solo specificare il separatore una volta e viene utilizzato su ogni stringa concatenata, risparmiandoti quindi di doverlo riscrivere tra ogni stringa.

Argomenti NULL

Il CONCAT() la funzione restituisce NULL se un argomento è NULL .

Esempio:

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

Risultato:

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

Stringhe binarie vs stringhe non binarie

La documentazione MySQL afferma:

Se tutti gli argomenti sono stringhe non binarie, il risultato è una stringa non binaria. Se gli argomenti includono stringhe binarie, il risultato è una stringa binaria. Un argomento numerico viene convertito nella sua forma di stringa non binaria equivalente.