sql >> Database teknologi >  >> RDS >> Oracle

oracle 12c - vælg streng efter sidste forekomst af et tegn

For fuldstændighedens skyld er her en løsning ved hjælp af regulære udtryk (ikke særlig kompliceret IMHO :-) ):

select regexp_substr(
  'ThisSentence.ShouldBe.SplitAfterLastPeriod.Sentence',
  '[^.]+$') 
from dual

Det regulære udtryk

  • bruger en negeret karakterklasse til at matche alt undtagen en prik [^.]
  • tilføjer en kvantifier + for at matche en eller flere af disse
  • bruger et anker $ for at begrænse match til slutningen af ​​strengen


  1. Sådan hentes data fra markøren i Oracle ved hjælp af For Loop

  2. Backend-versionen understøttes ikke til at designe databasediagrammer eller tabeller

  3. Kortlægning af PostgreSQL-tekst[][]-type og Java-type

  4. Ret problem med SQL-databasegendannelse afventer adgang nægtet