sql >> Database teknologi >  >> NoSQL >> MongoDB

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

Nogle gange skal du muligvis kun søge i en databasetabel efter de rækker, der indeholder mindst ét ​​tal i en given kolonne.

Teknisk set kan tal repræsenteres af ord og andre symboler, men her betyder "tal" "numerisk ciffer".

Nedenfor er eksempler på, hvordan man finder rækker, der indeholder mindst ét ​​tal i forskellige SQL-baserede DBMS'er.

SQL-server

I SQL Server kan vi bruge LIKE operatør:

SELECT ProductName 
FROM Products
WHERE ProductName LIKE '%[0-9]%';

Dette eksempel returnerer ProductName kolonne fra Products tabel, hvor der er mindst ét ​​ciffer i ProductName kolonne.

Oracle

I Oracle kan vi bruge REGEXP_LIKE betingelse med et regulært udtryksmønster:

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

Oracles REGEXP_LIKE betingelse overholder POSIX regulære udtryksstandard. Derfor kan vi få det samme resultat med følgende mønster:

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

MySQL

I MySQL kan vi bruge REGEXP funktion:

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

Vi kan også bruge POSIX i MySQL:

SELECT ProductName 
FROM Products
WHERE ProductName REGEXP '[[:digit:]]';

MariaDB

MariaDB har også en REGEXP funktion, så vi kan bruge samme kode som med MySQL:

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

Vi kan også bruge POSIX i MariaDB:

SELECT ProductName 
FROM Products
WHERE ProductName REGEXP '[[:digit:]]';

PostgreSQL

Her er PostgreSQLs ækvivalent:

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

Og POSIX-ækvivalenten:

SELECT ProductName 
FROM Products
WHERE ProductName ~ '[[:digit:]]';

SQLite

I SQLite kan vi bruge følgende kode:

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

REGEXP operator er en speciel syntaks for REGEXP() brugerfunktion i SQLite.

Derfor kan vi bruge følgende kode til at få det samme resultat:

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

  1. Port forwarding med nginx fra java

  2. mongodb :Øger max forbindelser i mongodb

  3. Introduktion til Morphia – Java ODM til MongoDB

  4. Kører mongodb?