ここでは,文字列検索に関するいくつかの SQL を示す.
WHERE 句に「属性名 LIKE '%文字列%'」と書く.例えば「WHERE choiki_kanji LIKE '%地割%'」 これは,「属性 choiki_kanji が,文字列 '地割' を含む」という条件での検索になる.% は任意の(0文字以上)文字列とマッチするため
「0階」,「1階」,「2階」,「3階」,「4階」,「5階」,「6階」,「7階」,「8階」,「9階」のいずれかという場合は 「[0123456789]階」のように半角の括弧「[]」を使うというデータベース管理システムが多い
SQLite 3の場合には 「choiki_kanji GLOB '*[0123456789地]階*'」のような書き方になる.(書き方はデータベース管理システムによって違う)
(参考Webページ)http://kawa.at.webry.info/200610/article_8.html
SELECT * FROM zips WHERE choiki_kanji LIKE '%地割%';
※ パターンマッチの演算子は, データベース管理システムによって違う.例えば,PostgreSQL の場合には「GLOB」を「~」に置き換えると、だいたい同様の動作をすると思います(未確認).ここでは SQLite 3 で説明する.
SELECT * FROM zips WHERE choiki_kanji GLOB '*(*)*' AND choiki_kanji GLOB '*[0123456789地]階*';
SELECT * FROM zips WHERE NOT choiki_kanji GLOB '*(*)*' AND choiki_kanji GLOB '*[0123456789地]階*';
SELECT * FROM zips WHERE choiki_kanji GLOB '*(*)*' AND NOT choiki_kanji GLOB '*[0123456789地]階*';
SELECT * FROM zips WHERE NOT choiki_kanji GLOB '*(*' AND choiki_kana GLOB '*(*';