sql >> Databáze >  >> RDS >> PostgreSQL

Jak CONCAT_WS() funguje v PostgreSQL

V PostgreSQL je to CONCAT_WS() funkce zřetězí dva nebo více řetězců a mezi každý z nich umístí oddělovač. Oddělovač je určen prvním argumentem.

Syntaxe

Syntaxe vypadá takto:

concat_ws(sep text, str "any" [, str "any" [, ...] ])

Kde sep text je oddělovač, který se má použít.

Příklad

Zde je příklad k demonstraci:

SELECT CONCAT_WS(',', 'Red', 'Green');

Výsledek:

Red,Green

V tomto případě jsem řetězce zřetězil čárkou jako oddělovačem.

Zde je příklad, který používá jako oddělovač mezeru:

SELECT CONCAT_WS(' ', 'Squid', 'Game');

Výsledek:

Squid Game

Zřetězení čísel

PostgreSQL zřetězí textovou reprezentaci svých argumentů, takže můžeme zřetězit čísla, aniž bychom je museli explicitně převádět na řetězec:

SELECT CONCAT_WS(',', 1, 2, 3);

Výsledek:

1,2,3

Buďte opatrní, pokud jsou úvodní nuly:

SELECT CONCAT_WS(',', 001, 002, 003);

Výsledek:

1,2,3

Nulové argumenty

Nulové argumenty jsou ignorovány:

SELECT CONCAT_WS(' ', 'Player', NULL, 456);

Výsledek:

Player 456

Žádné argumenty

Volání CONCAT_WS() bez předání jakýchkoli argumentů dojde k chybě:

SELECT CONCAT_WS();

Výsledek:

ERROR:  function concat_ws() does not exist
LINE 1: SELECT CONCAT_WS();
               ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.

  1. ROWID (oracle) - nějaké využití?

  2. Klíčové indikátory problémového designu

  3. Proč optimalizátor nepoužívá znalost zásobníku vyrovnávacích pamětí

  4. Jak provést SQL dotaz bez zobrazení výsledků