sql >> Database >  >> RDS >> Oracle

2 manieren om rijen te retourneren die geen numerieke waarden bevatten in Oracle

De volgende voorbeelden retourneren alleen die rijen die geen numerieke cijfers bevatten in een bepaalde kolom in Oracle Database.

Voorbeeldgegevens

Stel dat we een tabel hebben met de volgende gegevens:

SELECT ProductName 
FROM Products;

Resultaat:

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

De tabel ProductName gebruikt een varchar2 gegevenstype, en dus bevat het tekengegevens. Maar het kan ook numerieke cijfers bevatten.

Voorbeeld 1 – Regex

Hier is een zoekopdracht die we kunnen gebruiken om alle rijen te retourneren die geen numerieke cijfers bevatten:

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

Resultaat:

Left Handed Screwdriver
Right Handed Screwdriver
Beer Water

Voorbeeld 2 – POSIX

In Oracle Database, de REGEXP_LIKE voorwaarde voldoet aan de POSIX-standaard voor reguliere expressies. Daarom kunnen we hetzelfde resultaat krijgen met de volgende vraag:

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

Resultaat:

Left Handed Screwdriver
Right Handed Screwdriver
Beer Water

  1. MySQL-standaarddatabase

  2. Wijzigingen in de gegevensconnector in 2020.24

  3. Emulator versus Samsung-apparaat SD-kaartopslag

  4. Toegangsrechten voor databases instellen