Aqui está um exemplo de retorno de linhas que contêm caracteres alfanuméricos no SQLite.
Caracteres alfanuméricos são caracteres alfabéticos e caracteres numéricos.
Exemplo
Suponha que temos uma tabela com os seguintes dados:
SELECT c1 FROM t1;
Resultado:
Music Live Music Café Café Del Mar 100 Cafés [email protected] 1 + 1 () [email protected]#&()–[{}]:;',?/* `~$^+=<>“ $1.50 Player 456 007 null é É é 123 ø ø 123
Podemos usar o
REGEXP
operador com uma expressão regular para retornar apenas as linhas que contêm apenas caracteres alfanuméricos:SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-z0-9]+$';
Resultado:
Music 007
Nesse caso, não incluí caracteres unicode como
é
, É
, ou ø
no meu intervalo e, portanto, todas as linhas que contêm esses caracteres são excluídas da saída. Você precisará garantir que tenha os caracteres relevantes cobertos ao fazer isso.
Aqui está um exemplo de expansão do intervalo para incluir esses caracteres:
SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-zÀ-Þß-ÿ0-9]+$';
Resultado:
Music Café 007 é É ø
O caractere de espaço não é alfanumérico. Portanto, para retornar linhas que incluem espaços, podemos adicionar um espaço à nossa expressão regular:
SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-zÀ-Þß-ÿ0-9 ]+$';
Resultado:
Music Live Music Café Café Del Mar 100 Cafés Player 456 007 é É é 123 ø ø 123
Podemos usar o seguinte código para incluir todas as linhas que contêm caracteres do nosso intervalo (mesmo que também contenham caracteres fora desse intervalo):
SELECT c1 FROM t1
WHERE c1 REGEXP '[A-Za-zÀ-Þß-ÿ0-9]';
Resultado:
Music Live Music Café Café Del Mar 100 Cafés [email protected] 1 + 1 $1.50 Player 456 007 é É é 123 ø ø 123