Oracle
 sql >> база данни >  >> RDS >> Oracle

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

Следният пример връща всички редове, които съдържат поне една цифрова цифра в Oracle Database.

Примерни данни

Да предположим, че имаме таблица, наречена Products със следните данни в неговия ProductName колона:

SELECT ProductName 
FROM Products;

Резултат:

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

Примерна заявка

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

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

Резултат:

Bottomless Coffee Cup (4 pack)
Urban Dictionary Version 2.3
10 Songs

Връщат се само онези редове, които съдържат числа. Под „числа“ имам предвид цифрови цифри. Числата също могат да бъдат представени с думи или символи, но този пример открива само цифрови цифри.

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

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

Резултат:

Bottomless Coffee Cup (4 pack)
Urban Dictionary Version 2.3
10 Songs

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Въведение в PL/SQL функциите в Oracle Database

  2. Oracle LIMIT n,m еквивалент

  3. Съхранение на данни ETL профилиране на данни с Oracle Warehouse Builder

  4. Агрегатна конкатенация на низове в Oracle 10g

  5. Как да преброите броя на появяванията на символ в стойност на Oracle varchar?