sql >> Databáze >  >> RDS >> Oracle

Zjistěte, zda hodnota obsahuje alespoň jednu číselnou číslici v Oracle

Následující příklad vrátí všechny řádky, které obsahují alespoň jednu číselnou číslici v databázi Oracle.

Ukázková data

Předpokládejme, že máme tabulku nazvanou Products s následujícími údaji ve svém ProductName sloupec:

SELECT ProductName 
FROM Products;

Výsledek:

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

Příklad dotazu

Pomocí následujícího dotazu můžeme vrátit pouze ty řádky, které obsahují čísla:

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

Výsledek:

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

Jsou vráceny pouze ty řádky, které obsahují čísla. „Čísly“ mám na mysli číselné číslice. Čísla mohou být také reprezentována slovy nebo symboly, ale tento příklad detekuje pouze číselné číslice.

V Oracle REGEXP_LIKE podmínka odpovídá standardu regulárních výrazů POSIX. Proto můžeme získat stejný výsledek s následujícím vzorem:

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

Výsledek:

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

  1. Složený PRIMARY KEY vynucuje omezení NOT NULL na příslušné sloupce

  2. Jak zajistit, aby moje databáze postgresql používala třídění bez rozlišení velkých a malých písmen?

  3. Změňte formát data (v DB nebo na výstupu) na dd/mm/rrrr - PHP MySQL

  4. Metody zálohování AWS RDS