MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Открийте дали дадена стойност съдържа поне една цифрова цифра в SQL

Понякога може да се наложи да търсите в таблица на база данни само за онези редове, които съдържат поне едно число в дадена колона.

Технически числата могат да бъдат представени с думи и други символи, но тук „число“ означава „цифрова цифра“.

По-долу са дадени примери за това как да намерите редове, които съдържат поне едно число в различни SQL базирани СУБД.

SQL сървър

В SQL Server можем да използваме LIKE оператор:

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

Този пример връща ProductName колона от Products таблица, в която има поне една цифра в ProductName колона.

Оракул

В Oracle можем да използваме REGEXP_LIKE условие с модел на регулярен израз:

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

REGEXP_LIKE на Oracle условието отговаря на стандарта за регулярни изрази POSIX. Следователно можем да получим същия резултат със следния модел:

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

MySQL

В MySQL можем да използваме REGEXP функция:

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

Можем също да използваме POSIX в MySQL:

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

MariaDB

MariaDB също има REGEXP функция, така че можем да използваме същия код като при MySQL:

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

Можем също да използваме POSIX в MariaDB:

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

PostgreSQL

Ето еквивалента на PostgreSQL:

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

И POSIX еквивалентът:

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

SQLite

В SQLite можем да използваме следния код:

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

REGEXP операторът е специален синтаксис за REGEXP() потребителска функция в SQLite.

Следователно можем да използваме следния код, за да получим същия резултат:

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

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $cos

  2. Архивиране и възстановяване на MongoDB

  3. има ли обратна грешка при свързване на mongoose

  4. Как да съхранявам резултати от динамично генерирани формуляри в MongoDb?

  5. Премахване чрез _id в конзолата на MongoDB