O exemplo a seguir retorna todas as linhas que contêm pelo menos um dígito numérico no Oracle Database.
Dados de amostra
Suponha que tenhamos uma tabela chamada
Products
com os seguintes dados em seu ProductName
coluna: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
Exemplo de consulta
Podemos usar a seguinte consulta para retornar apenas as linhas que contêm 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
Somente as linhas que contêm números são retornadas. Por “números”, quero dizer dígitos numéricos. Os números também podem ser representados por palavras ou símbolos, mas este exemplo detecta apenas dígitos numéricos.
No 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 o seguinte padrão:SELECT ProductName
FROM Products
WHERE REGEXP_LIKE(ProductName, '[[:digit:]]');
Resultado:
Bottomless Coffee Cup (4 pack) Urban Dictionary Version 2.3 10 Songs