PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Grupa przechwytywania wyrażeń regularnych PostgreSQL w select

Jeśli próbujesz uchwycić dopasowanie wyrażenia regularnego, które wynika z wyrażenia, wtedy substring załatwi sprawę:

select substring ('I have a dog', 'd[aeiou]g')

Zwróci dowolne dopasowanie, w tym przypadku „pies”.

Myślę, że brakującym ogniwem tego, co próbowałeś powyżej, było to, że musisz umieścić wyrażenie, które chcesz uchwycić w nawiasach. regexp_matches zadziałałoby w tym przypadku (gdybyś umieścił nawiasy wokół wyrażenia, które chcesz przechwycić), ale zwróci tablicę tekstu z każdym dopasowaniem. Jeśli jest to jedno dopasowanie, substring jest dość wygodne.

Wracając więc do swojego przykładu, jeśli próbujesz zwrócić stuff wtedy i tylko wtedy, gdy jest na początku kolumny:

select substring (column, '^(stuff)')

lub

select (regexp_matches (column, '^(stuff)'))[1]


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. W Postgresql, jak zamawiać według daty, zachowując niestandardowy format daty

  2. Błąd:musi być właścicielem bazy danych

  3. Jak pobrać elementy z tablicy Json w PostgreSQL

  4. Tworzenie użytkownika z zaszyfrowanym hasłem w PostgreSQL

  5. Jak mogę wykonać próżnię za pomocą PostgreSQL?