sql >> Base de Datos >  >> RDS >> SQLite

Devolver filas que contienen caracteres alfanuméricos en SQLite

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