Här är två sätt att sammanfoga strängar och nummer i MariaDB:
- Använd
CONCAT()
funktion, som sammanfogar dess argument. - Använd rörsammansättningsoperatorn (
||
), som sammanfogar dess operander.
Nedan finns exempel på var och en.
CONCAT()
Funktion
CONCAT()
funktion sammanfogar sina argument. Även om detta är en strängfunktion kan den hantera numeriska (och binära strängar) argument. Alla numeriska värden konverteras till dess ekvivalenta binära strängform (detta är i motsats till MySQL, som returnerar en icke-binär sträng).
Exempel:
SELECT CONCAT('Agent', 47);
Resultat:
Agent47
Mellanslag kan läggas till, antingen genom att lägga till mellanslag till den befintliga strängen eller genom att sammanfoga ett tredje argument som enbart består av ett mellanslag:
SELECT
CONCAT('Agent ', 47) AS "Option 1",
CONCAT('Agent', ' ', 47) AS "Option 2";
Resultat:
+----------+----------+ | Option 1 | Option 2 | +----------+----------+ | Agent 47 | Agent 47 | +----------+----------+
Om du inte vill att det numeriska värdet ska konverteras till dess ekvivalenta binära strängform, kan du uttryckligen casta det före sammankopplingsoperationen.
Exempel:
SELECT CONCAT('Agent', CAST(47 AS char));
Resultat:
Agent47
Rörsammansättningsoperatören (||
)
Det här exemplet använder sammanlänkningsoperatorn (||
):
SELECT 'Agent ' || 47;
Resultat:
Agent 47
I det här fallet lade jag till ett mellanslag i det första argumentet.
Observera att rörsammansättningsoperatören först måste aktiveras innan du kan använda den på detta sätt. Som standard behandlar MariaDB ||
som en synonym för OR
logisk operator. Att försöka använda den som en sammanlänkningsoperator kan ge oväntade resultat om du inte aktiverar den som en sammanlänkningsoperator först.