sql >> Databáze >  >> RDS >> PostgreSQL

Jak rozdělit jméno na příjmení plus iniciály

regulární výraz používaný v PostgreSQL je ve skutečnosti implementován pomocí softwarového balíčku napsaného Henrym Spencerem. Není to divné, má to své výhody, zvláštnosti.

Jedním z rozdílů od běžných motorů regulárních výrazů NFA je slovo hranice. Zde \Y odpovídá neslovní hranici. Zbývající vzory, které potřebujete, jsou docela známé.

Musíte tedy použít '^(\w+)|\Y\w' vzor a '\1' výměna.

Podrobnosti :

  • ^ - začátek provázkové kotvy
  • (\w+)Nahrávání skupiny 1 odpovídající znak o délce 1 a více slova (bude označován jako \1 z náhradního vzoru)
  • | - nebo
  • \Y\w - znak slova, kterému předchází jiný znak slova.

\1 se nazývá náhrada číslovaného zpětného odkazu , to pouze vloží hodnotu zachycenou skupinou 1 do výsledku nahrazení.



  1. Jak vrátit počet sekund po půlnoci v databázi Oracle

  2. Odstranit pomocí více tabulek a opakovat tabulku v dílčím dotazu

  3. pomalý mysql dotaz, který se musí provádět stovky tisíckrát za hodinu

  4. Po odstranění záznamů na SQL Serveru resetujte seed identity