SQLite,大文字・小文字を区別してパターン検索する

スポンサーリンク

鍛錬 213

SQLite,大文字・小文字を区別してパターン検索する

SQLite3 で、大文字・小文字を区別してパターン検索するには、glob を使用します。
 
使用方法は、以下に示す通りです。

カラム名 glob パターン

 
glob で指定したパターンが含まれないデータを検索するには、not を付加します。
 
使用方法は、以下に示す通りです。

カラム名 not glob パターン

サンプルデータ

以下は、今回使用するサンプルデータです。

sqlite> 
sqlite> select * from fruits;
id   fruits_name   price 
---  ------------  ------
1    apple         300   
2    orange        250   
3    grape         500   
4    banana        350   
5    peach         700

実行結果

大文字で検索

以下は、大文字で検索しています。

カラム fruits_name に属するデータは全て小文字であるため、大文字で検索してもマッチングしません。

sqlite> 
sqlite> select * from fruits where fruits_name glob 'GRAPE';
sqlite>

 
小文字で検索

以下は、小文字で検索しています。

カラム fruits_name に属するデータは全て小文字であるため、マッチングします。

sqlite> 
sqlite> select * from fruits where fruits_name glob 'grape';
id   fruits_name   price 
---  ------------  ------
3    grape         500

 
指定したパターン以外のデータを検索

以下は、glob の前に not を付加して、指定したパターン以外のデータを検索しています。

カラム fruits_name に属するデータのうち、検索時に指定した ‘grape’ 以外のデータを取得します。

sqlite> 
sqlite> select * from fruits where fruits_name not glob 'grape';
id   fruits_name   price 
---  ------------  ------
1    apple         300   
2    orange        250   
4    banana        350   
5    peach         700
タイトルとURLをコピーしました