Este es un ejemplo de devolución de filas que contienen caracteres alfanuméricos en SQLite.
Los caracteres alfanuméricos son caracteres alfabéticos y caracteres numéricos.
Ejemplo
Supongamos que tenemos una tabla con los siguientes datos:
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 el REGEXP
operador con una expresión regular para devolver solo aquellas filas que contienen solo caracteres alfanuméricos:
SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-z0-9]+$';
Resultado:
Music 007
En este caso, no incluí caracteres Unicode como é
, É
, o ø
en mi rango, por lo que cualquier fila que contenga esos caracteres se excluye de la salida.
Deberá asegurarse de tener los caracteres relevantes cubiertos al hacer esto.
Aquí hay un ejemplo de cómo expandir el rango para incluir esos caracteres:
SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-zÀ-Þß-ÿ0-9]+$';
Resultado:
Music Café 007 é É ø
El carácter de espacio no es alfanumérico. Por lo tanto, para devolver filas que incluyan espacios, podemos agregar un espacio a nuestra expresión 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 el siguiente código para incluir todas las filas que contienen caracteres de nuestro rango (incluso si también contienen caracteres fuera de este rango):
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