English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
SQLite GLOB
演算子は、ワイルドカードを使用してテキスト値とパターンをマッチングするために使用されます。検索表現がパターン表現とマッチングできる場合、GLOB演算子はtrueを返し、即为1。LIKE演算子とは異なり、GLOBは大文字小文字を区別し、UNIXの文法に従って以下のワイルドカードを指定します。
星号(*)
問号(?)
星号(*)は、0個または複数の数字または文字を表します。問号(?)は、1つの数字または文字を表します。
以下は基本的な文法です*
と?
。
*' または SELECT FROM table_name WHERE column GLOB '',*XXXX*' または SELECT FROM table_name WHERE column GLOB 'XXXX?' または SELECT FROM table_name WHERE column GLOB '?XXXX' または SELECT FROM table_name WHERE column GLOB '?XXXX?' または SELECT FROM table_name WHERE column GLOB '????'
ANDやOR演算子を使用して、複数の条件を組み合わせることができます。ここでは、XXXXはどんな数字や文字列の値でもできます。
以下のテーブルには、WHERE部分のLIKE子句に異なる*'と'?'演算子。
番号 | 宣言と説明 |
---|---|
1 |
検索して200で始まるいかなる値も表示します |
2 |
検索していかなる位置に00を持ついかなる値も表示します200の値 |
3 |
検索して第2と第3位置に00を持ついかなる値も表示します |
4 |
検索して2開頭で長さが少なくとも3文字のいかなる値も表示します |
5 |
検索して2終わるいかなる値も表示します |
6 |
検索して第2位置に2并以3終わるいかなる値も表示します |
7 |
検索して2開頭と3終わる5桁の数字のいかなる値も表示します |
実際の例として、以下の記録を持つCOMPANYテーブルを考慮しましょう-
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 ポール 32 カリフォルニア 20000.0 2 アレン 25 テキサス 15000.0 3 テディ 23 ノルウェイ 20000.0 4 Mark 25 Rich-Mond 65000.0 5 デイビッド 27 テキサス 85000.0 6 Kim 22 South-Hall 45000.0 7 ジェームズ 24 ヒューストン 10000.0
以下にサンプルがあります。このサンプルは、AGEで2開頭。
sqlite> SELECT * FROM COMPANY WHERE AGE GLOB '2*';
これは以下の結果を生成します。
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 2 アレン 25 テキサス 15000.0 3 テディ 23 ノルウェイ 20000.0 4 Mark 25 Rich-Mond 65000.0 5 デイビッド 27 テキサス 85000.0 6 Kim 22 South-Hall 45000.0 7 ジェームズ 24 ヒューストン 10000.0
以下は、ADDRESSがテキスト内にハイフンのあるCOMPANYテーブルのすべてのレコードを表示する例です。-)-
sqlite> SELECT * FROM COMPANY WHERE ADDRESS GLOB '*-*';
これは以下の結果を生成します。
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 4 Mark 25 Rich-Mond 65000.0 6 Kim 22 South-Hall 45000.0