SQL4 択難易度 標準

2026 年 10 月の注文だけを取り出したい。空欄に入るものは?

SELECT id FROM ordersWHERE ordered_at >= '2026-10-01'  AND ordered_at ____ '2026-11-01';

正答

  1. <
  2. <=
  3. >
  4. =

解説

期間の条件は「開始日以上・翌月 1 日未満」の半開区間で書く。<= にすると 2026-11-01 の注文が 10 月に混ざる。この書き方なら、列に時刻が付いていても('2026-10-31 23:59:59' など)月末の行が漏れない。BETWEEN '2026-10-01' AND '2026-10-31' は、時刻付きの列だと 31 日の 0 時より後の行が文字列の比較で落ちる。> や = は範囲の条件として意味が通らない。

参考: www.sqlite.org

wheredaterange

この問題を含む SQL のテストを制限時間つきで解く

SQLクイズへ