sql >> Database teknologi >  >> RDS >> Oracle

2 måder at returnere rækker, der ikke indeholder numeriske værdier i Oracle

Følgende eksempler returnerer kun de rækker, der ikke indeholder nogen numeriske cifre i en given kolonne i Oracle Database.

Eksempel på data

Antag, at vi har en tabel med følgende data:

SELECT ProductName 
FROM Products;

Resultat:

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

Produktnavn-tabellen bruger en varchar2 datatype, og så indeholder den tegndata. Men den kan også indeholde numeriske cifre.

Eksempel 1 – Regex

Her er en forespørgsel, vi kan bruge til at returnere alle rækker, der ikke indeholder numeriske cifre:

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

Resultat:

Left Handed Screwdriver
Right Handed Screwdriver
Beer Water

Eksempel 2 – POSIX

I Oracle Database er REGEXP_LIKE betingelse overholder POSIX regulære udtryksstandard. Derfor kan vi få det samme resultat med følgende forespørgsel:

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

Resultat:

Left Handed Screwdriver
Right Handed Screwdriver
Beer Water

  1. Knee-Jerk Vent-statistikker:PAGELATCH

  2. Android Room Database, hent specifik værdi af den seneste indtastede post

  3. Brug af Barman til at sikkerhedskopiere PostgreSQL - en oversigt

  4. Hvornår skal man bruge enkelte anførselstegn, dobbelte anførselstegn og backticks i MySQL