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