一般社団法人 全国個人事業主支援協会

COLUMN コラム

DBに下記のようなデータが存在しているとします。

No  Start  End  Deta
─────────────────────────
001 2020-01-01 2020-01-02 aaa
002 2020-01-02 2020-01-03 bbb
003 2020-01-28 2020-01-29 ccc
004 2020-01-29 2020-01-30 ddd

この時、下記の条件でWHERE句を指定したとします。
現在時刻 ≧ Start
AND
現在時刻 ≦ End

しかし、このケースだと
現在時刻が 2020-01-29 00:00:01 の時にSQL実行した場合、
Noが 003 の行は条件の対象外になります。

これは現在時刻には時分秒の情報が存在するが、
DBには時分秒が00:00:00で登録されているためです。

これを解決するには下記のようにWHERE句を修正し、
現在時刻を日付までの情報で扱うことで判定できます。

TO_DATE(TO_CHAR(現在時刻),’YYYY/MM/DD’) ≧ Start
AND
TO_DATE(TO_CHAR(現在時刻),’YYYY/MM/DD’) ≦ End

The following two tabs change content below.

井沢 充宏

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア