1

開始日と終了日フィールドを保持する mysql のテーブルがあります。私がする必要があるのは、このテーブルにクエリを実行して、検索対象の日付と一致しないすべての行を見つけることです。どうすればいいですか?したがって、今日の日付を使用してこのテーブルをクエリした場合、この日付がテーブルの開始日と終了日の間にないすべての行を見つける必要があります。それが理にかなっていることを願っています!

4

4 に答える 4

3

句を使用BETWEENして、日付範囲に基づいてレコードをフィルタリングし、その日付範囲を除外するには、次のようにNOT句を使用できます。

SELECT * 
FROM my_table 
WHERE search_date NOT BETWEEN start_date AND end_date;
于 2012-07-31T10:01:22.933 に答える
0
Select *
from table
where [todaysdate]<datestart
or [todaysdate]>dateend
于 2012-07-31T09:56:59.673 に答える
0

通常使用する範囲を選択するには を使用BETWEENし、それらの値を除外する場合は、単純に を使用できますNOT BETWEEN

于 2012-07-31T09:57:23.720 に答える
0

もう 1 つのバリアント:

select id, start_date, end_date 
from my_table 
where end_date < CAST('2012-01-01' AS DATE) 
or start_date > CAST('2012-12-31' AS DATE)
于 2012-07-31T10:05:41.853 に答える