は
SELECT [Id]
,[DateOnline] --Nullable
,[DateOffline] --Nullable
,[PageId]
,[DownloadId]
,[Weight]
FROM [DownloadPage]
WHERE GETDATE() BETWEEN [DateOnline] AND [DateOffline]
に相当:
SELECT [Id]
,[DateOnline] --Nullable
,[DateOffline] --Nullable
,[PageId]
,[DownloadId]
,[Weight]
FROM [DownloadPage]
WHERE ([DateOnline] IS NULL OR [DateOnline] <= GETDATE())
AND ([DateOffline] IS NULL OR [DateOffline] > GETDATE())
しかし、NULLにも対応していますか?
それとももっとエレガントな方法がありますか?
ここで括弧が必要な場所はどこですか?
ありがとう。
編集:
[DateOnline] と [DateOffline] の両方が DateTime 型です
[DateOnline] が NULL の場合、ロジックは「現在オンライン」です。
[DateOffline] が NULL の場合、ロジックは「オフラインにならない (オンラインになったら)」です。
申し訳ありませんが、最初からこれを質問に含める必要がありました。