我有以下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报表生成器
发生错误 从查询结果集中读取数据。 nvarchar的转换 数据类型为日期时间数据类型导致超出范围的值。
其他信息:
将nvarchar数据类型转换为日期时间数据类型会导致超出范围的值。 (Microsoft SQL Server,错误:242)
答案 0 :(得分:0)
尝试找出哪个visitorannouncements.DateOfVisit
不是有效日期:
select *
from visitorannouncements
where isdate(DateOfVisit) = 0
答案 1 :(得分:0)
指定正确的style以匹配数据字符串。
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )