sql >> Databáze >  >> RDS >> Oracle

Oracle SQL:Vraťte první řádek řetězce pomocí regexp_substr

Regulární výraz Parada se shoduje se vším, co není čárka, za kterou následuje znak návratu vozíku. To znamená, že to nebude fungovat pro odřádkování nebo pokud je v textu čárka.

Oracle podporuje víceřádkové výrazy pomocí m parametr shody . Při použití tohoto režimu $ odpovídá konci každého řádku i konci řetězce. Můžete to použít k zjednodušení výrazu masivně:

regexp_substr(str, '.*$', 1, 1, 'm')

To znamená, že odpovídá prvnímu výskytu (prvnímu řádku) řetězce, který odpovídá čemukoli, následovaný koncem řetězce, počítáno od prvního znaku.

Jako příklad:

with strings as ( 
 select 'hi
         hi again' as str
   from dual
  union all
 select 'bye
         and again'
   from dual
        )
 select regexp_substr(str, '.*$', 1, 1, 'm')
   from strings


  1. Přidáno datum a datum změny pro audit tabulky Oracle

  2. Správa nákupního košíku a skladu

  3. Nelze se připojit ke vzdálenému serveru mysql pomocí unixodbc, libmyodbc

  4. pokusu VLOŽIT NULL, pokud je vstupní pole prázdné