执行此查询时,会显示以下错误。
[Msg 8114,Level 16,State 5,Line 1
将数据类型varchar转换为float时出错。]
我想知道当单个quot中的长字符串被1或0替换时,错误在比较部分fb_userevents.userid = '100002917025417'
中。而不是引用(')围绕它为什么它试图转换为浮动?
我正在使用SQL Server 2005
select
fb_event.eventname
from
fb_event
inner join
fb_userevents on fb_userevents.eventid = fb_event.eventid
where
fb_userevents.userid = '100002917025417'
and DATEDIFF(hh,fb_event.startdate,getdate()) < 0
and acos(sin(0) * sin(convert(float,altitude)) +
cos(0) * cos(convert(float,altitude)) *
cos(convert(float,longitude) - 101)) * 6371 <= 1000
该用户的替补和长官:
答案 0 :(得分:4)
你确定问题不在这条线上吗?
cos(convert(float,altitude))
什么数据类型是海拔高度?并且该列中的每个值都只包含数字字符吗?
答案 1 :(得分:0)
您可能需要在该字段上进行显式转换或转换。