0

私はこうしてクエリをやっています:

int numberInInterval = (from dsStatistics.J2RespondentRow item in jStats.J2Respondent
                   where item.EndTime > dtIntervalLower && item.EndTime <= dtIntervalUpper
                   select item).count();

endtime 列にいくつかの dbnulls があるようです..これらを回避する方法はありますか?

&& where item.endtime != null.. と != dbnull.value を追加してみました

null でないものをすべて取得するために 2 番目 (最初) のクエリを実行してから、上記のクエリを実行する必要がありますか?

とても簡単な修正だと確信していますが、まだそれがありません..

ありがとうナット

4

3 に答える 3

1

item.EndTime == nullではなく、item.EndTime.HasValueを使用したいと思います。

于 2009-12-03T18:34:47.107 に答える
1

これを行う最も簡単な方法は、null になる可能性のある値に対して .GetValueOrDefault(...Some Reason default...) を使用することで、エラーを回避します。

于 2009-12-03T21:52:37.263 に答える
0

T-SQL クエリで通常これを行う方法は、日付に ISNULL を使用し、null の場合は日付を「12/31/2099」のように設定することです。

Linq を使用すると、次のようになります。

from t in MyTable where Convert.ToString((Convert.ToString(t.MyDateColumn) ?? "12/31/2099")) < MyTargetValue

于 2009-12-03T18:31:53.960 に答える