Podczas pracy z MariaDB czasami możesz potrzebować zwrócić wszystkie wiersze zawierające co najmniej jedną cyfrę.
W takich przypadkach 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 | | Bottomless Coffee Cup | | Smash 2000 Sledgehammer | | Chainsaw (includes 3 spare fingers) | | Bottomless Coffee Mugs (4 Pack) | +-------------------------------------+
Ta kolumna oczywiście zawiera dane znakowe, ale niektóre wiersze zawierają liczby w 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 Sledgehammer | | Chainsaw (includes 3 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
funkcja, aby znaleźć wszystkie wiersze, które pasują do wzorca. Wzór obejmuje wszystkie cyfry od 0
do 9
, plus dowolny inny znak.