sql >> Database teknologi >  >> RDS >> PostgreSQL

Find ud af, om en værdi indeholder mindst ét ​​numerisk ciffer i PostgreSQL

Følgende eksempel returnerer alle rækker, der indeholder mindst ét ​​numerisk ciffer i PostgreSQL.

Eksempel

Antag, at vi har en tabel kaldet Products med følgende data i dens ProductName kolonne:

SELECT ProductName 
FROM Products;

Resultat:

           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)

Denne kolonne indeholder tegndata, men nogle rækker indeholder tal i disse tegndata (selvom de ikke er gemt som en numerisk type).

Vi kan bruge følgende forespørgsel til kun at returnere de rækker, der indeholder tal repræsenteret med numeriske cifre:

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

Resultat:

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

Som forventet returneres kun de rækker, der indeholder tal.

I PostgreSQL, ~ er en store og små bogstaver til at matche det givne regulære udtryk. Brug ~*, hvis der ikke skelnes mellem store og små bogstaver .

Du kan bruge !~ for at returnere alle rækker, der ikke matcher det regulære udtryk (og !~* for store og små bogstaver).


  1. Opret MySQL-database fra Java

  2. Sådan dropper du flere tabeller i PostgreSQL ved hjælp af et jokertegn

  3. Postgres holdt lige tilfældigt op med at virke (Rails, PGSQL.5432)

  4. Sådan bruges Coalesce i MySQL