doodle-on-web

自分で調べたことや、仕事の中で質問されたことなどをまとめています。

SQLによる日付のあいまい範囲検索について

スポンサーリンク

日付項目であいまい検索はできますか?

こんな感じを想定しています。

between Like "2018/*" AND Like "2019/*"

うーん、betweenとlikeは共存できません!

状況

まとめると、2018年から2019年の間でHITさせたいということですよね?

解決策

最初に書きましたが、between 演算子に like 演算子の重ね張りはできません。 始点と終点が曖昧となると、何をもって「そのデータが指定範囲内にある」と判断できません。

ですので、範囲指定であいまい検索はできません。 2018年~2019年の範囲指定の場合、通常はこのように指定します。

between "2018/01/01" and "2019/12/31" 

ちなみに、構文の説明は以下に記載しておきます。

Between構文

  • BETWEEN構文

    <対象値> BETWEEN <開始値> AND <終了値>

達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ (CodeZine BOOKS)

達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ (CodeZine BOOKS)