Het volgende voorbeeld retourneert alle rijen die ten minste één numeriek cijfer in PostgreSQL bevatten.
Voorbeeld
Stel dat we een tabel hebben met de naam Products
met de volgende gegevens in zijn ProductName
kolom:
SELECT ProductName
FROM Products;
Resultaat:
productname --------------------------------- Left handed screwdriver Right handed screwdriver Long Weight (blue) Long Weight (green) Straw Dog Box Bottomless Coffee Mugs (4 Pack) Smash 2000 Sledge Hammer Chainsaw (3 spare fingers)
Deze kolom bevat tekengegevens, maar sommige rijen bevatten getallen binnen die tekengegevens (ook al zijn ze niet opgeslagen als een numeriek type).
We kunnen de volgende query gebruiken om alleen die rijen te retourneren die getallen bevatten die worden weergegeven door numerieke cijfers:
SELECT ProductName
FROM Products
WHERE ProductName ~ '[0-9]+';
Resultaat:
productname --------------------------------- Bottomless Coffee Mugs (4 Pack) Smash 2000 Sledge Hammer Chainsaw (3 spare fingers)
Zoals verwacht worden alleen de rijen die getallen bevatten geretourneerd.
In PostgreSQL, ~
is een hoofdlettergevoelige operator voor het matchen van de gegeven reguliere expressie. Gebruik voor hoofdletterongevoelige overeenkomsten ~*
.
Je kunt !~
. gebruiken om alle rijen te retourneren die niet overeenkomen met de reguliere expressie (en !~*
voor niet-hoofdlettergevoelige overeenkomsten).