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

Funkce RPAD() v PostgreSQL

V PostgreSQL RPAD() je funkce, která nám umožňuje přidat výplň do pravé části řetězce.

Syntaxe

Syntaxe vypadá takto:

rpad ( string text, length integer [, fill text ] )

Kde:

  • string text je řetězec, na který se má použít výplň
  • length integer je celková délka, kterou má řetězec mít po použití výplně
  • fill text je volitelný argument, který vám umožňuje zadat jeden nebo více znaků, které se mají použít jako výplň (výchozí je mezera).

Příklad

Zde je příklad k demonstraci:

SELECT RPAD('Look', 8, '!');

Výsledek:

Look!!!!

V tomto případě jsem provázek vycpával vykřičníkem. Vzhledem k tomu, že jsem zadal, že výsledný řetězec by měl mít osm znaků, byly vykřičníky replikovány, dokud nevyplnily zbývající část řetězce.

Výplň s více znaky

Třetí argument může obsahovat více než jeden znak:

SELECT RPAD('Look', 13, ' at that!');

Výsledek:

Look at that!

Mějte na paměti, že se bude stále opakovat, pokud nezabere veškerý zbývající prostor:

SELECT RPAD('Look', 23, ' at that!');

Výsledek:

Look at that! at that!

Odsazení mezerami

Jak již bylo zmíněno, poslední argument je volitelný a výchozím znakem výplně je mezera.

Zde je příklad správného vyplnění řetězce mezerami:

SELECT CONCAT(RPAD('Look', 10), ' over there!');

Výsledek:

Look       over there!

V tomto případě jsem použil CONCAT() funkce zřetězení našeho vycpaného řetězce s jiným řetězcem. Udělal jsem to proto, aby byl efekt vycpávky viditelnější.

Toto je ekvivalent provedení následujícího:

SELECT CONCAT(RPAD('Look', 10, ' '), ' over there!');

Výsledek:

Look       over there!

  1. Výkon MySQL:Převod MySQL na MariaDB

  2. PostgreSQL je pomalý na velké tabulce s poli a spoustou aktualizací

  3. Je substr nebo LIKE rychlejší v Oracle?

  4. Jak funguje sys.dm_exec_describe_first_result_set_for_object na serveru SQL Server