Hvis du skal returnere alle rækker, der indeholder mindst ét numerisk ciffer i MySQL, kan følgende eksempel være nyttigt.
Eksempel
Antag, at vi har en tabel kaldet Products
med følgende data i dens ProductName
kolonne:
SELECT ProductName
FROM Products;
Resultat:
+-------------------------------------+ | ProductName | +-------------------------------------+ | Left handed screwdriver | | Right handed screwdriver | | Long Weight (blue) | | Long Weight (green) | | Smash 2000 Sledge Hammer | | Chainsaw (Includes 5 spare fingers) | | Straw Dog Box | | Bottomless Coffee Mugs (4 Pack) | +-------------------------------------+
Denne kolonne indeholder tegndata, men nogle rækker indeholder tal i disse tegndata (selvom de ikke er gemt som en numerisk type).
Vi kan bruge følgende forespørgsel til kun at returnere de rækker, der indeholder tal repræsenteret med numeriske cifre:
SELECT ProductName
FROM Products
WHERE ProductName REGEXP '[0-9]+';
Resultat:
+-------------------------------------+ | ProductName | +-------------------------------------+ | Smash 2000 Sledge Hammer | | Chainsaw (Includes 5 spare fingers) | | Bottomless Coffee Mugs (4 Pack) | +-------------------------------------+
Som forventet returneres kun de rækker, der indeholder tal.
I dette tilfælde brugte vi MySQL's REGEXP
funktion til at finde alle rækker, der matcher et mønster. Mønsteret omfatter alle numeriske cifre fra 0
til 9
plus et hvilket som helst andet tegn.