0

MySQLデータベースに対して次のクエリを作成する方法が少しわかりません。

私のテーブルには2つのintフィールドがstartDateありendDate、UNIXタイムスタンプを保持しています。endDate終了日がないことNULLを意味する場合があります。

現在のタイムスタンプが範囲内にあるすべてのレコードを取得したいと思います。

値がある場合endDate、私は次のことができます。

SELECT * FROM table WHERE startDate < NOW() AND endDate > NOW()

NULLの場合、次のendDateことができます。

SELECT * FROM table WHERE開始日< NOW()

私の質問は、上記の2つのクエリを1つの単一の条件付きクエリにどのように組み合わせることができるかということです。

4

2 に答える 2

3
SELECT * FROM table 
WHERE startDate < NOW() AND (endDate IS NULL OR endDate > NOW())
于 2012-06-22T22:10:51.047 に答える
2

簡単:

SELECT * FROM table WHERE startDate < NOW() AND
                          (endDate IS NULL OR endDate > NOW())
于 2012-06-22T22:10:44.383 に答える