Os exemplos a seguir retornam apenas as linhas que não contêm nenhum dígito numérico em uma determinada coluna no Oracle Database.
Dados de amostra
Suponha que temos uma tabela com os seguintes dados:
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
A tabela ProductName usa um
varchar2
tipo de dados e, portanto, contém dados de caracteres. Mas também pode conter dígitos numéricos. Exemplo 1 – Regex
Aqui está uma consulta que podemos usar para retornar todas as linhas que não contêm dígitos numéricos:
SELECT ProductName
FROM Products
WHERE NOT REGEXP_LIKE(ProductName, '[0-9]+');
Resultado:
Left Handed Screwdriver Right Handed Screwdriver Beer Water
Exemplo 2 – POSIX
No banco de dados Oracle, o
REGEXP_LIKE
condição está em conformidade com o padrão de expressão regular POSIX. Portanto, podemos obter o mesmo resultado com a seguinte consulta:SELECT ProductName
FROM Products
WHERE NOT REGEXP_LIKE(ProductName, '[[:digit:]]');
Resultado:
Left Handed Screwdriver Right Handed Screwdriver Beer Water