sql >> Databasteknik >  >> RDS >> SQLite

Returnera rader som innehåller alfanumeriska tecken i SQLite

Här är ett exempel på returnerande rader som innehåller alfanumeriska tecken i SQLite.

Alfanumeriska tecken är alfabetiska tecken och numeriska tecken.

Exempel

Anta att vi har en tabell med följande data:

SELECT c1 FROM t1;

Resultat:

Music             
Live Music        
Café              
Café Del Mar      
100 Cafés         
[email protected] 
1 + 1             
()                
[email protected]#&()–[{}]:;',?/*
`~$^+=<>“         
$1.50             
Player 456        
007               
null              
                  
é                 
É                 
é 123             
ø                 
ø 123             

Vi kan använda REGEXP operator med ett reguljärt uttryck för att returnera bara de rader som endast innehåller alfanumeriska tecken:

SELECT c1 FROM t1 
WHERE c1 REGEXP '^[A-Za-z0-9]+$';

Resultat:

Music
007  

I det här fallet inkluderade jag inte unicode-tecken som é , É , eller ø i mitt intervall, så alla rader som innehåller dessa tecken exkluderas från utdata.

Du måste se till att du har de relevanta karaktärerna täckta när du gör detta.

Här är ett exempel på att utöka intervallet till att inkludera dessa tecken:

SELECT c1 FROM t1 
WHERE c1 REGEXP '^[A-Za-zÀ-Þß-ÿ0-9]+$';

Resultat:

Music
Café 
007  
é    
É    
ø    

Mellanslagstecknet är icke-alfanumeriskt. Därför, för att returnera rader som innehåller mellanslag, kan vi lägga till ett mellanslag till vårt reguljära uttryck:

SELECT c1 FROM t1 
WHERE c1 REGEXP '^[A-Za-zÀ-Þß-ÿ0-9 ]+$';

Resultat:

Music       
Live Music  
Café        
Café Del Mar
100 Cafés   
Player 456  
007         
é           
É           
é 123       
ø           
ø 123      

Vi kan använda följande kod för att inkludera alla rader som innehåller tecken från vårt intervall (även om de också innehåller tecken utanför detta intervall):

SELECT c1 FROM t1
WHERE c1 REGEXP '[A-Za-zÀ-Þß-ÿ0-9]';

Resultat:

Music            
Live Music       
Café             
Café Del Mar     
100 Cafés        
[email protected]
1 + 1            
$1.50            
Player 456       
007              
é                
É                
é 123            
ø                
ø 123           

  1. Optimera en SELECT-fråga som körs långsamt på Oracle som körs snabbt på SQL Server

  2. Återställ databas från nödläge i SQL Server

  3. PostgreSQL User Group NL

  4. Hur kan jag starta PostgreSQL på Windows?