Her er et eksempel på returnerende rækker, der indeholder alfanumeriske tegn i SQLite.
Alfanumeriske tegn er alfabetiske tegn og numeriske tegn.
Eksempel
Antag, at vi har en tabel med følgende 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 bruge REGEXP
operator med et regulært udtryk for kun at returnere de rækker, der kun indeholder alfanumeriske tegn:
SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-z0-9]+$';
Resultat:
Music 007
I dette tilfælde inkluderede jeg ikke unicode-tegn som é
, É
, eller ø
i mit område, og derfor er alle rækker, der indeholder disse tegn, udelukket fra outputtet.
Du skal sikre dig, at du har de relevante karakterer dækket, når du gør dette.
Her er et eksempel på at udvide rækkevidden til at omfatte disse tegn:
SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-zÀ-Þß-ÿ0-9]+$';
Resultat:
Music Café 007 é É ø
Mellemrumstegnet er ikke-alfanumerisk. For at returnere rækker, der indeholder mellemrum, kan vi derfor tilføje et mellemrum til vores regulære udtryk:
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 bruge følgende kode til at inkludere alle rækker, der indeholder tegn fra vores rækkevidde (selvom de også indeholder tegn uden for dette område):
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