2013-02-27 2 views
0

У меня есть следующий SQL: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 поле.

я получаю следующее сообщение об ошибке:

TITLE: Microsoft SQL Server Report Builder


An error occurred while reading data from the query result set. The conversion of a nvarchar data type to a datetime data type resulted in an out-of-range value.


ADDITIONAL INFORMATION:

The conversion of a nvarchar data type to a datetime data type resulted in an out-of-range value. (Microsoft SQL Server, Error: 242)

+1

Начать удаление дублированной строки 'от посетителей' – Yaroslav

+0

Правильный ли это запрос? У вас есть «от посетителей» два раза! Пожалуйста, правильно отформатируйте свой запрос, что очень помогает! –

+0

Вставить ошибку, а не по запросу – user1292656

ответ

0

Попробуйте выяснить, какие visitorannouncements.DateOfVisit не является допустимой датой:

select * 
from visitorannouncements 
where isdate(DateOfVisit) = 0 
0

Укажите правильный style, чтобы соответствовать строке данных.

CONVERT (data_type [ (length) ] , expression [ , style ]) 
Смежные вопросы