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

Jak získat podřetězec od 4. výskytu znaku do konce daného řetězce v PSQL

Můžete použít regulární výraz

with example(str) as (
    values('/this/is/a/given/string/test.file')
)

select regexp_replace(str, '(/.*?){4}', '')
from example;

     regexp_replace     
------------------------
 given/string/test.file
(1 row) 

nebo funkci string_to_array() :

select string_agg(word, '/' order by ord)
from example,
unnest(string_to_array(str, '/')) with ordinality as u(word, ord)
where ord > 4;

Přečtěte si také Jak najít 3. výskyt vzoru na řádku .



  1. MySql:Spočítá, kolikrát se slova vyskytují ve sloupci

  2. Oracle SQL vloží více řádků a něco vrátí

  3. Automatické zvýšení pro Oracle

  4. Jak počítat dotazy uživatelů?