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

Wykryj, czy wartość zawiera przynajmniej jedną cyfrę w PostgreSQL

Poniższy przykład zwraca wszystkie wiersze, które zawierają co najmniej jedną cyfrę w PostgreSQL.

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 zawierają liczby reprezentowane przez cyfry:

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

Wynik:

           productname           
---------------------------------
 Bottomless Coffee Mugs (4 Pack)
 Smash 2000 Sledge Hammer
 Chainsaw (3 spare fingers)

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

W PostgreSQL ~ jest operatorem rozróżniającym wielkość liter dla dopasowania 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 nie pasują do wyrażenia regularnego (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. Jak działa age() w PostgreSQL

  2. Jak przekonwertować ciąg na datę w PostgreSQL

  3. Zwróć wiersze SETOF z funkcji PostgreSQL

  4. Jak wdrożyć PostgreSQL w celu zapewnienia wysokiej dostępności

  5. Zrozumienie ograniczeń sprawdzania w PostgreSQL