MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Wykryj, czy wartość zawiera co najmniej jedną cyfrę w SQL

Czasami może być konieczne przeszukanie tabeli bazy danych tylko pod kątem wierszy, które zawierają co najmniej jedną liczbę w danej kolumnie.

Technicznie rzecz biorąc, liczby mogą być reprezentowane przez słowa i inne symbole, ale tutaj „liczba” oznacza „cyfrę”.

Poniżej znajdują się przykłady, jak znaleźć wiersze zawierające co najmniej jedną liczbę w różnych DBMS opartych na SQL.

Serwer SQL

W SQL Server możemy użyć LIKE operator:

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

Ten przykład zwraca ProductName kolumna z Products tabela, w której w ProductName znajduje się co najmniej jedna cyfra kolumna.

Wyrocznia

W Oracle możemy użyć REGEXP_LIKE warunek ze wzorcem wyrażenia regularnego:

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

Oracle REGEXP_LIKE warunek jest zgodny ze standardem wyrażeń regularnych POSIX. Dlatego możemy uzyskać ten sam wynik za pomocą następującego wzoru:

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

MySQL

W MySQL możemy użyć REGEXP funkcja:

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

Możemy również używać POSIX w MySQL:

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

MariaDB

MariaDB ma również REGEXP funkcji, więc możemy użyć tego samego kodu, co w MySQL:

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

Możemy również używać POSIX w MariaDB:

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

PostgreSQL

Oto odpowiednik PostgreSQL:

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

I odpowiednik POSIX:

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

SQLite

W SQLite możemy użyć następującego kodu:

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

REGEXP operator jest specjalną składnią dla REGEXP() funkcja użytkownika w SQLite.

Dlatego możemy użyć następującego kodu, aby uzyskać ten sam wynik:

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

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Dane wiosenne MongoDb:MappingMongoConverter usuń _class

  2. Schemat Mongoose nie został zarejestrowany dla modelu

  3. Usuwanie klucza/wartości z istniejącego wpisu MongoDB

  4. Radzenie sobie z powolnymi zapytaniami w MongoDB

  5. Tablica grupowa po odprężeniu i dopasowaniu