El siguiente ejemplo devuelve todas las filas que contienen al menos un dígito numérico en Oracle Database.
Datos de muestra
Supongamos que tenemos una tabla llamada Products
con los siguientes datos en su ProductName
columna:
SELECT ProductName
FROM Products;
Resultado:
Left Handed Screwdriver Right Handed Screwdriver Bottomless Coffee Cup (4 pack) Urban Dictionary Version 2.3 Beer Water 10 Songs
Consulta de ejemplo
Podemos usar la siguiente consulta para devolver solo aquellas filas que contienen números:
SELECT ProductName
FROM Products
WHERE REGEXP_LIKE(ProductName, '[0-9]+');
Resultado:
Bottomless Coffee Cup (4 pack) Urban Dictionary Version 2.3 10 Songs
Solo se devuelven las filas que contienen números. Por "números", me refiero a dígitos numéricos. Los números también se pueden representar con palabras o símbolos, pero este ejemplo solo detecta dígitos numéricos.
En Oracle, REGEXP_LIKE
condición cumple con el estándar de expresiones regulares POSIX. Por lo tanto, podemos obtener el mismo resultado con el siguiente patrón:
SELECT ProductName
FROM Products
WHERE REGEXP_LIKE(ProductName, '[[:digit:]]');
Resultado:
Bottomless Coffee Cup (4 pack) Urban Dictionary Version 2.3 10 Songs