Aqui está um exemplo de retorno de linhas que contêm apenas caracteres não alfanuméricos no SQLite.
Caracteres não alfanuméricos incluem caracteres de pontuação como
example@sqldat.com#&()–[{}]:;',?/* e símbolos como `~$^+=<>“ , bem como caracteres de espaço em branco, como os caracteres de espaço ou tabulação. Dados de amostra
Usaremos os seguintes dados para nossos exemplos:
SELECT c1 FROM t1; Resultado:
+----------------------+
| c1 |
+----------------------+
| Music |
| Live Music |
| Café |
| Café Del Mar |
| 100 Cafés |
| example@sqldat.com |
| 1 + 1 |
| () |
| example@sqldat.com#&()–[{}]:;',?/* |
| `~$^+=<>“ |
| $1.50 |
| Player 456 |
| 007 |
| NULL |
| |
| é |
| É |
| é 123 |
| ø |
| ø 123 |
+----------------------+ Podemos usar o
REGEXP operador com uma expressão regular para retornar as linhas que contêm apenas caracteres não alfanuméricos:SELECT c1 FROM t1
WHERE c1 NOT REGEXP '[A-Za-z0-9]'; Resultado:
+----------------------+
| c1 |
+----------------------+
| () |
| example@sqldat.com#&()–[{}]:;',?/* |
| `~$^+=<>“ |
| |
| é |
| É |
| ø |
+----------------------+ Nesse caso, meu intervalo de exclusão não abrangeu caracteres alfanuméricos como
é , É , e ø . O exemplo a seguir expande o intervalo para excluir esses caracteres do resultado:SELECT c1 FROM t1
WHERE c1 NOT REGEXP '[A-Za-zÀ-Þß-ÿ0-9]'; Resultado:
()
example@sqldat.com#&()–[{}]:;',?/*
`~$^+=<>“
Nossa tabela também contém uma linha com a string vazia. Este é um caractere não alfanumérico e, portanto, é retornado no resultado acima. Também podemos usar o
NULLIF() função para excluir a string vazia da saída:SELECT c1 FROM t1
WHERE NULLIF(c1, '') NOT REGEXP '[A-Za-zÀ-Þß-ÿ0-9]'; Resultado:
()
example@sqldat.com#&()–[{}]:;',?/*
`~$^+=<>“