小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

SQLでのワイルドカード検索の留意点

WHERE句の条件でワイルドカードを使って全件ヒットをさせるのに『%』のみで検索します。
しかし、これだとNULLの項目はヒットしないのです。
したがって、以下のようにNULL比較条件をORで繋げます。

SELECT 項目名 FROM テーブル名 WHERE (検索項目 LIKE '%') OR (検索項目 IS NULL)

この単純なサンプルに関しては、実は、WHERE句は必要ありませ(全件検索なので)。
しかし、実際はもっと複雑な条件になったときに、つねにNULLの項目を考慮しないといけないのです。