Los siguientes ejemplos devuelven solo aquellas filas que no contienen dígitos numéricos en una columna dada en Oracle Database.
Datos de muestra
Supongamos que tenemos una tabla con los siguientes datos:
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
La tabla ProductName usa un varchar2
tipo de datos, por lo que contiene datos de caracteres. Pero también puede contener dígitos numéricos.
Ejemplo 1:expresiones regulares
Aquí hay una consulta que podemos usar para devolver todas las filas que no contienen dígitos numéricos:
SELECT ProductName
FROM Products
WHERE NOT REGEXP_LIKE(ProductName, '[0-9]+');
Resultado:
Left Handed Screwdriver Right Handed Screwdriver Beer Water
Ejemplo 2:POSIX
En Oracle Database, el REGEXP_LIKE
condición cumple con el estándar de expresiones regulares POSIX. Por lo tanto, podemos obtener el mismo resultado con la siguiente consulta:
SELECT ProductName
FROM Products
WHERE NOT REGEXP_LIKE(ProductName, '[[:digit:]]');
Resultado:
Left Handed Screwdriver Right Handed Screwdriver Beer Water