sql >> Database >  >> RDS >> SQLite

Rijen retourneren die alfanumerieke tekens bevatten in SQLite

Hier is een voorbeeld van het retourneren van rijen die alfanumerieke tekens bevatten in SQLite.

Alfanumerieke tekens zijn alfabetische tekens en numerieke tekens.

Voorbeeld

Stel dat we een tabel hebben met de volgende gegevens:

SELECT c1 FROM t1;

Resultaat:

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

We kunnen de REGEXP . gebruiken operator met een reguliere expressie om alleen die rijen te retourneren die alleen alfanumerieke tekens bevatten:

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

Resultaat:

Music
007  

In dit geval heb ik geen unicode-tekens zoals é . opgenomen , É , of ø in mijn bereik, en dus worden alle rijen die deze tekens bevatten uitgesloten van de uitvoer.

Je moet ervoor zorgen dat je de relevante karakters hebt behandeld wanneer je dit doet.

Hier is een voorbeeld van het uitbreiden van het bereik om deze tekens op te nemen:

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

Resultaat:

Music
Café 
007  
é    
É    
ø    

Het spatieteken is niet-alfanumeriek. Om rijen die spaties bevatten te retourneren, kunnen we daarom een ​​spatie toevoegen aan onze reguliere expressie:

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

Resultaat:

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

We kunnen de volgende code gebruiken om alle rijen op te nemen die bevatten tekens uit ons assortiment (zelfs als ze ook tekens buiten dit bereik bevatten):

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

Resultaat:

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

  1. probleem ORA-00001:unieke beperking geschonden komt in INSERT/UPDATE

  2. FILEGROUPPROPERTY() gebruiken in SQL Server

  3. Schatting van deelname aan SQL Server met behulp van grove uitlijning van histogram

  4. Meerdere kolommen toevoegen NA een specifieke kolom in MySQL