Zde jsou dva způsoby, jak zřetězit řetězce a čísla v MariaDB:
- Použijte
CONCAT()
funkce, která zřetězí své argumenty. - Použijte operátor zřetězení potrubí (
||
), který zřetězí své operandy.
Níže jsou uvedeny příklady každého z nich.
CONCAT()
Funkce
CONCAT()
funkce zřetězí své argumenty. Přestože se jedná o řetězcovou funkci, dokáže zpracovat číselné (a binární řetězce) argumenty. Jakákoli číselná hodnota je převedena na ekvivalentní formu binárního řetězce (to je na rozdíl od MySQL, která vrací nebinární řetězec).
Příklad:
SELECT CONCAT('Agent', 47);
Výsledek:
Agent47
Mezery lze přidat buď přidáním mezery ke stávajícímu řetězci, nebo zřetězením včetně třetího argumentu, který se skládá pouze z mezery:
SELECT
CONCAT('Agent ', 47) AS "Option 1",
CONCAT('Agent', ' ', 47) AS "Option 2";
Výsledek:
+----------+----------+ | Option 1 | Option 2 | +----------+----------+ | Agent 47 | Agent 47 | +----------+----------+
Pokud nechcete, aby byla číselná hodnota převedena na její ekvivalentní formu binárního řetězce, můžete ji před operací zřetězení explicitně přetypovat.
Příklad:
SELECT CONCAT('Agent', CAST(47 AS char));
Výsledek:
Agent47
Operátor zřetězení potrubí (||
)
Tento příklad používá operátor zřetězení (||
):
SELECT 'Agent ' || 47;
Výsledek:
Agent 47
V tomto případě jsem k prvnímu argumentu přidal mezeru.
Všimněte si, že operátor zřetězení potrubí musí být nejprve povolen, než jej budete moci používat tímto způsobem. Ve výchozím nastavení MariaDB zachází s ||
jako synonymum pro OR
logický operátor. Pokus o jeho použití jako operátor zřetězení může přinést neočekávané výsledky, pokud jej nejprve nepovolíte jako operátor zřetězení potrubí.