sql >> Database >  >> RDS >> Oracle

Oracle SQL:retourneer de eerste regel van de tekenreeks met regexp_substr

De reguliere expressie van Parado komt meerdere keren overeen met alles wat geen komma is, gevolgd door een regelterugloop. Dit betekent dat het niet werkt voor een regelinvoer of als er een komma in de tekst staat.

Oracle ondersteunt expressies met meerdere regels met behulp van de m overeenkomstparameter . Bij gebruik van deze modus, $ komt overeen met het einde van elke regel en het einde van de tekenreeks. Je kunt dit gebruiken om de uitdrukking gewoon massaal te gebruiken om:

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

Dat is overeenkomen met het eerste voorkomen (de eerste regel) van de tekenreeks die ergens mee overeenkomt, gevolgd door het einde van de tekenreeks, geteld vanaf het eerste teken.

Als voorbeeld:

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. Wat zijn de beste prestaties voor het ophalen van MySQL EAV-resultaten als relationele tabel?

  2. Oracle SQL-trigger voor het automatisch instellen van een kolomwaarde

  3. Controleer of NULL bestaat in Postgres-array

  4. Selecteer gegevens gegroepeerd op tijd na middernacht