Pokud se pokoušíte zachytit shodu regulárního výrazu, která je výsledkem výrazu, pak substring
by udělal trik:
select substring ('I have a dog', 'd[aeiou]g')
Vrátí jakoukoli shodu, v tomto případě "pes."
Myslím, že chybějícím článkem toho, o co jste se pokoušeli výše, bylo, že musíte dát výraz, který chcete zachytit, do závorek. regexp_matches
by v tomto případě fungovalo (pokud byste zahrnuli závorky kolem výrazu, který chcete zachytit), ale při každé shodě by vrátilo pole textu. Pokud se jedná o jednu shodu, substring
je docela pohodlné.
Pokud se tedy pokoušíte vrátit stuff
, zakroužkujte zpět k vašemu příkladu tehdy a jen tehdy, když je na začátku sloupce:
select substring (column, '^(stuff)')
nebo
select (regexp_matches (column, '^(stuff)'))[1]