Poniższy przykład zwraca wszystkie wiersze, które nie zawierają żadnych liczb w SQLite.
Przez „liczbę” rozumiem „cyfrę”. Liczby mogą być również reprezentowane przez słowa i inne symbole, ale na potrzeby tego artykułu zwracamy wartości, które nie zawierają żadnych cyfr.
Przykładowe dane
Załóżmy, że mamy tabelę o nazwie Products
z następującymi danymi w swoim ProductName
kolumna:
SELECT ProductName
FROM Products;
Wynik:
ProductName ------------------------------------ Widget Holder (holds 5 gram widgets) Widget Opener Bob's "Best" Widget Blue Widget Urban Dictionary Version 1.2 Beer Water (375ml)
Przykładowe zapytanie
Możemy użyć następującego zapytania, aby zwrócić tylko te wiersze, które nie zawierają żadnych cyfr:
SELECT ProductName
FROM Products
WHERE ProductName NOT REGEXP '[0-9]+';
Wynik:
ProductName ------------------- Widget Opener Bob's "Best" Widget Blue Widget
Zwracane są tylko te wiersze, które nie zawierają żadnych cyfr.
W SQLite REGEXP
operator jest specjalną składnią dla REGEXP()
funkcja użytkownika.
Dlatego możemy użyć następującego kodu, aby uzyskać ten sam wynik:
SELECT ProductName
FROM Products
WHERE NOT REGEXP('[0-9]+', ProductName);
Wynik:
ProductName ------------------- Widget Opener Bob's "Best" Widget Blue Widget