sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man får delsträng från fjärde förekomsten av ett tecken till slutet av en given sträng i PSQL

Du kan använda ett reguljärt uttryck

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) 

eller funktionen 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;

Läs också Hur du hittar den tredje förekomsten av ett mönster på en linje .



  1. Följ extern databas från Heroku

  2. Hur man ändrar mysql-datum till Ago i php

  3. Hantera TIME WITH TIME ZONE korrekt i PostgreSQL

  4. Hur man skickar dynamiska mysql-frågor i C++ och mysql