SQLiteで英数字を含む行を返す例を次に示します。
英数字は、英字と英数字です。
例
次のデータを含むテーブルがあるとします。
SELECT c1 FROM t1;
結果:
Music Live Music Café Café Del Mar 100 Cafés [email protected] 1 + 1 () [email protected]#&()–[{}]:;',?/* `~$^+=<>“ $1.50 Player 456 007 null é É é 123 ø ø 123
REGEXP
を使用できます 英数字のみを含む行のみを返す正規表現を使用した演算子:
SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-z0-9]+$';
結果:
Music 007
この場合、é
のようなUnicode文字は含めませんでした 、É
、またはø
私の範囲内であるため、これらの文字を含む行はすべて出力から除外されます。
これを行うときは、関連するキャラクターがカバーされていることを確認する必要があります。
これらの文字を含めるように範囲を拡張する例を次に示します。
SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-zÀ-Þß-ÿ0-9]+$';
結果:
Music Café 007 é É ø
スペース文字は英数字ではありません。したがって、スペースを含む行を返すために、正規表現にスペースを追加できます。
SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-zÀ-Þß-ÿ0-9 ]+$';
結果:
Music Live Music Café Café Del Mar 100 Cafés Player 456 007 é É é 123 ø ø 123
次のコードを使用して、含むすべての行を含めることができます。 私たちの範囲の文字(この範囲外の文字も含まれている場合でも):
SELECT c1 FROM t1
WHERE c1 REGEXP '[A-Za-zÀ-Þß-ÿ0-9]';
結果:
Music Live Music Café Café Del Mar 100 Cafés [email protected] 1 + 1 $1.50 Player 456 007 é É é 123 ø ø 123