0

季節の住所の日付を格納するテーブルがあります。

アドレス開始日、アドレス終了日

5 月に歴史的にアクティブな季節の住所を持つ人々を見つけようとしていますが、それをフォーマットする方法がよくわかりません。2 つの日付フィールドに基づいてクエリを作成する方法を概念化できないようです。「アクティブだった」部分は、私が問題を抱えている部分です。

この場合の日付の年はすべて 1000 として格納されます。これは、季節的なアドレスの切り替えが毎年同時に発生するためです。だから私が探しているのは、アドレスが DATE '1000-05-01' から DATE '1000-05-31' の間にアクティブだった人です - これで私の問題を説明するのに十分だと思います

4

4 に答える 4

1

多分:

SELECT *
FROM mytable
WHERE addressStartDate <= ? AND addressEndDate <= ?
于 2013-06-03T19:48:20.937 に答える
1

あなたはこのようなものを探しています:

SELECT addressStartDate, addressEndDate, otherfields
FROM yourTable
WHERE addressStartDate >= '1000-05-01'
   AND addressEndDate < '1000-06-01'

または、質問の解釈に応じて、住所の日付がその月に存在する必要がある場合は、おそらく次のようになります。

SELECT addressStartDate, addressEndDate, otherfields
FROM yourTable
WHERE addressStartDate < '1000-06-01'
   AND addressEndDate >= '1000-05-01'

データの保存方法 (時間の有無にかかわらず) に応じてBETWEEN、 を使用する代わりに、必要に応じて >= と < を使用することをお勧めします。

于 2013-06-03T19:48:42.220 に答える