Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Wykryj, czy wartość zawiera co najmniej jedną cyfrę w Oracle

Poniższy przykład zwraca wszystkie wiersze zawierające co najmniej jedną cyfrę w bazie danych Oracle.

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:

Left Handed Screwdriver
Right Handed Screwdriver
Bottomless Coffee Cup (4 pack)
Urban Dictionary Version 2.3
Beer Water
10 Songs

Przykładowe zapytanie

Możemy użyć następującego zapytania, aby zwrócić tylko te wiersze, które zawierają liczby:

SELECT ProductName 
FROM Products
WHERE REGEXP_LIKE(ProductName, '[0-9]+');

Wynik:

Bottomless Coffee Cup (4 pack)
Urban Dictionary Version 2.3
10 Songs

Zwracane są tylko te wiersze, które zawierają liczby. Przez „liczby” rozumiem cyfry. Liczby mogą być również reprezentowane przez słowa lub symbole, ale ten przykład wykrywa tylko cyfry.

W Oracle REGEXP_LIKE warunek jest zgodny ze standardem wyrażeń regularnych POSIX. Dlatego możemy uzyskać ten sam wynik za pomocą następującego wzoru:

SELECT ProductName 
FROM Products
WHERE REGEXP_LIKE(ProductName, '[[:digit:]]');

Wynik:

Bottomless Coffee Cup (4 pack)
Urban Dictionary Version 2.3
10 Songs

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. zatrzymaj się przy błędzie kompilacji w skrypcie sqlplus

  2. Proste zapytania rekurencyjne w Oracle

  3. Zabawne podzapytanie Oracle

  4. jak znaleźć indeksy na stole w oracle

  5. Czytanie clob linia po linii z pl\sql