sql >> Databáze >  >> RDS >> MariaDB

2 způsoby, jak zřetězit řetězce a čísla v MariaDB

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í.


  1. Nepoužívá se při použití NULL v PostgreSQL stále bitmapa NULL v záhlaví?

  2. SQL Developer se nespustí

  3. AWS Summits 2018:Chicago rekapitulace

  4. Webinář:Nové funkce v Postgres 12 [Následovat]