Jeśli chcesz zwrócić wszystkie wiersze zawierające przynajmniej jedną cyfrę w MySQL, przydatny może być poniższy przykład.
Przykład
Załóżmy, że mamy tabelę o nazwie Products z następującymi danymi w swoim ProductName kolumna:
SELECT ProductName
FROM Products; Wynik:
+-------------------------------------+ | 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) | +-------------------------------------+
Ta kolumna zawiera dane znakowe, ale niektóre wiersze zawierają liczby w ramach tych danych znakowych (nawet jeśli nie są one przechowywane jako typ liczbowy).
Możemy użyć następującego zapytania, aby zwrócić tylko te wiersze, które zawierają liczby reprezentowane przez cyfry:
SELECT ProductName
FROM Products
WHERE ProductName REGEXP '[0-9]+'; Wynik:
+-------------------------------------+ | ProductName | +-------------------------------------+ | Smash 2000 Sledge Hammer | | Chainsaw (Includes 5 spare fingers) | | Bottomless Coffee Mugs (4 Pack) | +-------------------------------------+
Zgodnie z oczekiwaniami zwracane są tylko te wiersze, które zawierają liczby.
W tym przypadku użyliśmy REGEXP MySQL funkcja, aby znaleźć wszystkie wiersze, które pasują do wzorca. Wzór obejmuje wszystkie cyfry od 0 do 9 , plus dowolny inny znak.