Às vezes, você pode precisar pesquisar em uma tabela de banco de dados apenas as linhas que contêm pelo menos um número em uma determinada coluna.
Tecnicamente, os números podem ser representados por palavras e outros símbolos, mas aqui “número” significa “dígito numérico”.
Abaixo estão exemplos de como localizar linhas que contêm pelo menos um número em vários DBMSs baseados em SQL.
SQL Server
No SQL Server, podemos usar o
LIKE operador:SELECT ProductName
FROM Products
WHERE ProductName LIKE '%[0-9]%'; Esse exemplo retorna o
ProductName coluna de Products tabela onde há pelo menos um dígito no ProductName coluna. Oráculo
No Oracle, podemos usar o
REGEXP_LIKE condição com um padrão de expressão regular:SELECT ProductName
FROM Products
WHERE REGEXP_LIKE(ProductName, '[0-9]+'); REGEXP_LIKE da Oracle 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:]]'); MySQL
No MySQL, podemos usar o
REGEXP função:SELECT ProductName
FROM Products
WHERE ProductName REGEXP '[0-9]+'; Também podemos usar POSIX no MySQL:
SELECT ProductName
FROM Products
WHERE ProductName REGEXP '[[:digit:]]'; MariaDB
MariaDB também tem um
REGEXP função, então podemos usar o mesmo código do MySQL:SELECT ProductName
FROM Products
WHERE ProductName REGEXP '[0-9]+'; Também podemos usar POSIX no MariaDB:
SELECT ProductName
FROM Products
WHERE ProductName REGEXP '[[:digit:]]'; PostgreSQL
Aqui está o equivalente do PostgreSQL:
SELECT ProductName
FROM Products
WHERE ProductName ~ '[0-9]+'; E o equivalente POSIX:
SELECT ProductName
FROM Products
WHERE ProductName ~ '[[:digit:]]'; SQLite
No SQLite, podemos usar o seguinte código:
SELECT ProductName
FROM Products
WHERE ProductName REGEXP '[0-9]+'; O
REGEXP operador é uma sintaxe especial para o REGEXP() função de usuário no SQLite. Portanto, podemos usar o seguinte código para obter o mesmo resultado:
SELECT ProductName
FROM Products
WHERE REGEXP('[0-9]+', ProductName);