MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak uzyskać wartości, które nie zawierają liczb w MariaDB?

Podczas pracy z MariaDB czasami możesz potrzebować zwrócić wszystkie wiersze, które nie zawierają żadnych liczb.

Technicznie liczby mogą być reprezentowane przez słowa i inne symbole, ale w tym artykule „liczba” oznacza po prostu „cyfrę”. Więc znajdujemy wartości, które nie zawierają żadnych cyfr.

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 nie zawierają żadnych cyfr:

SELECT ProductName 
FROM Products
WHERE ProductName NOT REGEXP '[0-9]+';

Wynik:

+--------------------------+
| ProductName              |
+--------------------------+
| Left Handed Screwdriver  |
| Right Handed Screwdriver |
| Bottomless Coffee Cup    |
+--------------------------+

Zgodnie z oczekiwaniami zwracane są tylko te wiersze, które nie zawierają liczb.

W tym przypadku użyliśmy NOT REGEX funkcja, aby znaleźć wszystkie wiersze, które pasują do wzorca. Wzór obejmuje wszystkie cyfry od 0 do 9 , plus dowolny inny znak.

Można to również napisać tak:

SELECT ProductName 
FROM Products
WHERE NOT (ProductName REGEXP '[0-9]+');

Wynik:

+--------------------------+
| ProductName              |
+--------------------------+
| Left Handed Screwdriver  |
| Right Handed Screwdriver |
| Bottomless Coffee Cup    |
+--------------------------+

To samo wyjście.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 4 funkcje, które wyodrębniają mikrosekundy z wartości czasu w MariaDB

  2. Jak REGEXP działa w MariaDB

  3. MariaDB RTRIM() vs RTRIM_ORACLE():Jaka jest różnica?

  4. Zainstaluj WordPress z Nginx, MariaDB 10 i PHP 7 na Debianie 9

  5. Wdrażanie wysoce dostępnych baz danych i klastrów za pomocą ClusterControl