概要 :このチュートリアルでは、SQLite GLOB
の使用方法を学習します 文字列が特定のパターンに一致するかどうかを判断する演算子。
SQLite GLOB
の紹介 オペレーター
GLOB
演算子はLIKE
に似ています オペレーター。 GLOB
演算子は、文字列が特定のパターンに一致するかどうかを判断します。
LIKE
とは異なり 演算子、GLOB
演算子は大文字と小文字を区別します UNIXワイルドカードを使用します。 さらに、GLOB
パターンにはエスケープ文字がありません。
次に、GLOB
で使用されるワイルドカードを示します。 演算子:
- アスタリスク(*)ワイルドカードは、任意の数の文字と一致します。
- 疑問符(?)ワイルドカードは正確に1文字に一致します。
これらのワイルドカードに加えて、リストワイルドカード[]を使用して、文字のリストから1つの文字を照合できます。例:[xyz]
任意の単一のx、y、またはz文字に一致します。
リストのワイルドカードでは、文字の範囲も使用できます。たとえば、[a-z]はaからzまでの任意の1つの小文字に一致します。 [a-zA-Z0-9]
パターンは、小文字と大文字の両方の任意の1文字の英数字に一致します。
また、^
という文字を使用できます リストの先頭で、リスト内の任意の文字を除くすべての文字と一致します。たとえば、[^0-9]
パターンは、数字以外の任意の1文字に一致します。
SQLite GLOB
例
次のステートメントは、名前が文字列Man
で始まるトラックを検索します。 。パターンMan*
Man
で始まるすべての文字列に一致します 。
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB 'Man*';
Code language: SQL (Structured Query Language) (sql)
試してみてください
次のステートメントは、名前がMan
で終わるトラックを取得します 。パターン*Man
Man
で終わるすべての文字列に一致します 。
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*Man';
Code language: SQL (Structured Query Language) (sql)
試してみてください
次のクエリは、名前が任意の1文字(?)で始まり、その後に文字列ere
が続くトラックを検索します。 次に、任意の数の文字(*)。
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '?ere*';
Code language: SQL (Structured Query Language) (sql)
試してみてください
名前に数字が含まれているトラックを見つけるには、リストワイルドカード[0-9]
を使用できます。 次のように:
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*[1-9]*';
Code language: SQL (Structured Query Language) (sql)
試してみてください
または、名前に数字が含まれていないトラックを見つけるには、文字^
を配置します リストの先頭:
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*[^1-9]*';
Code language: SQL (Structured Query Language) (sql)
試してみてください
次のステートメントは、名前が数字で終わるトラックを検索します。
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*[1-9]';
Code language: SQL (Structured Query Language) (sql)
試してみてください
このチュートリアルでは、SQLite GLOB
の使用方法を学習しました。 文字列が特定のパターンに一致するかどうかをテストする演算子。