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