0

私は次のSQLを持っています:

     select CONVERT(date,visitorannouncements.DateOfVisit), visitorannouncements.Agent,
            Firstname, visitors.Lastname 
       from Visitors

       LEFT JOIN visitorannouncements 
            ON Visitors.VisitorAnnouncementId=visitorannouncements.Id
      where ship = @shipname 
        AND convert(datetime, visitorannouncements.DateOfVisit,101) BETWEEN  @startDate AND @endDate

visitorannouncements.DateOfVisit は nvarchar フィールドです。

次のエラーが表示されます。

タイトル: Microsoft SQL Server レポート ビルダー


クエリ結果セットからデータを読み取り中にエラーが発生しました。nvarchar データ型を datetime データ型に変換すると、範囲外の値になりました。


追加情報:

nvarchar データ型を datetime データ型に変換すると、範囲外の値になりました。(Microsoft SQL Server、エラー: 242)

4

2 に答える 2

0

visitorannouncements.DateOfVisit有効な日付でないものを見つけてください。

select *
from visitorannouncements
where isdate(DateOfVisit) = 0
于 2013-02-27T09:00:14.720 に答える
0

データ文字列に一致する正しいスタイルを指定してください。

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
于 2013-02-27T09:01:35.693 に答える