PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Znajdź wartości, które nie zawierają liczb w PostgreSQL

Poniższy przykład zwraca wszystkie wiersze, które nie zawierają żadnych liczb w PostgreSQL.

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
 Long Weight (blue)
 Long Weight (green)
 Straw Dog Box
 Bottomless Coffee Mugs (4 Pack)
 Smash 2000 Sledge Hammer
 Chainsaw (3 spare fingers)

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

SELECT ProductName 
FROM Products
WHERE ProductName !~ '[0-9]+';

Wynik:

       productname        
--------------------------
 Left handed screwdriver
 Right handed screwdriver
 Long Weight (blue)
 Long Weight (green)
 Straw Dog Box
(5 rows)

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

W PostgreSQL !~ jest operatorem rozróżniającym wielkość liter, który jest używany do zwracania wartości, które nie pasują do podanego wyrażenia regularnego. W przypadku dopasowań bez rozróżniania wielkości liter użyj !~* .

Możesz użyć ~ aby zwrócić wszystkie wiersze, które wykonają dopasuj wyrażenie regularne (i ~* dla dopasowań bez rozróżniania wielkości liter).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSql :tablica Json do wierszy przy użyciu łączenia bocznego

  2. pobierz ostatnie trzymiesięczne rekordy z tabeli

  3. Jak zmienić własność wszystkich obiektów w określonym schemacie w PostgreSQL?

  4. Jak przełączać bazy danych w psql?

  5. BŁĄD:nie ma unikalnego ograniczenia pasującego do podanych kluczy dla paska tabeli, do którego się odwołuje