sql >> Databáze >  >> RDS >> SQLite

Vraťte řádky, které obsahují alfanumerické znaky v SQLite

Zde je příklad vracení řádků, které obsahují alfanumerické znaky v SQLite.

Alfanumerické znaky jsou abecední znaky a číselné znaky.

Příklad

Předpokládejme, že máme tabulku s následujícími údaji:

SELECT c1 FROM t1;

Výsledek:

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

Můžeme použít REGEXP operátor s regulárním výrazem, který vrátí pouze ty řádky, které obsahují pouze alfanumerické znaky:

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

Výsledek:

Music
007  

V tomto případě jsem nezahrnul znaky Unicode jako é , É , nebo ø v mém rozsahu, a tak jsou z výstupu vyloučeny všechny řádky, které tyto znaky obsahují.

Při tom se musíte ujistit, že máte pokryty relevantní znaky.

Zde je příklad rozšíření rozsahu o tyto znaky:

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

Výsledek:

Music
Café 
007  
é    
É    
ø    

Znak mezery není alfanumerický. Proto, abychom vrátili řádky, které obsahují mezery, můžeme do našeho regulárního výrazu přidat mezeru:

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

Výsledek:

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

Následující kód můžeme použít k zahrnutí všech řádků, které obsahují znaky z našeho rozsahu (i když také obsahují znaky mimo tento rozsah):

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

Výsledek:

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

  1. Vytvoření tabulky serveru SQL z datové tabulky C#

  2. Jak pg_dump RDS Postgres databázi?

  3. Jak změnit úroveň kompatibility databáze s T-SQL

  4. datetime2 vs datetimeoffset v SQL Server:Jaký je rozdíl?