0

だから私はこれを説明しようとします:

2 つの日付 (開始日と終了日) を選択する日付ピッカーを取得しました。

例: 2012 年 1 月 1 日から 2012 年 11 月 12 日まで

これらの日付を使用して、テーブル内の求人を検索します。

ジョブの開始日: 2012 年 10 月 10 日 ジョブの終了日: 2012 年 12 月 20 日

ジョブはこれら 2 つの日付の間に実行されているため、結果としてそのジョブを取得したいと考えています。

BETWEEN を使用しようとしましたが、うまくいかないようです。誰かがクエリを手伝ってくれますか? もちろん、日付形式を yyyy-mm-dd に変換します。

ポイントは、datepickerの日付の範囲内に1日しかない場合でも、ジョブを表示したいということです。

4

2 に答える 2

3

2 つの日付範囲の交差を探しています。したがって、日付範囲 d1 と d2 が与えられた場合、d2.start は d1.end より前に発生する必要があることがわかります。また、d2.end は d1.start の後に発生する必要があることもわかっています。両方の条件が真の場合、重複があります。SQL では:

SELECT d.* 
FROM thedates d
WHERE d.jobstart < $myenddate
  AND d.jobend > $mystartdate

わかりやすくするための ETA ダイアグラム:

ここに画像の説明を入力

于 2012-12-11T14:53:42.627 に答える