adate varchar(8) が指定された 2 つの日付の間にあることを確認する必要がある場所を選択しています。
渡された値が NULL の場合があるため、すべてを表示します。
select something from myTable where
convert(date, adate) >= ISNULL(convert(date,@beginDate), convert(date, adate))
正常に動作します
しかし、私がそれを作るとき:
select something from myTable where
convert(date, adate) >= ISNULL(convert(date,@beginDate), convert(date, adate))
and convert(date, adate) <= ISNULL(convert(date,@endDate), convert(date, adate))
私は得る:
文字列から日時を変換する際に変換に失敗しました。
または、エラーなしで >= なしで <= 行を実行できますが、両方を一緒にすることはできません。何が起こっているのですか??
2行は同じように見えますが、ここで何が間違っているのかわかりません.....