【发布时间】:2014-06-14 03:05:55
【问题描述】:
我有这个存储过程:
ALTER PROCEDURE NearUnits
@lat float,
@lng float
AS
BEGIN
SELECT *
FROM
(
SELECT Uname, Latitude, Longitude,Info,
(
6371 * acos(
sin(@lat/57.295800) *
sin(Latitude/57.295800) +
cos(@lat/57.295800) *
cos(Latitude/57.295800) *
cos(@lng/57.295800 - Longitude / 57.295800)
)
) AS distance
FROM [dbo].[MedicalUnit]
) mytable
WHERE distance <= 20;
END;
当我执行它时:
NearUnits 31.0333449532716,31.3618322632
我收到此错误:
消息 8114,级别 16,状态 5,过程 NearUnits,第 6 行 将数据类型 nvarchar 转换为数值时出错。
虽然之前工作正常!!!
有什么解决办法吗??
【问题讨论】:
-
表的架构是什么?
-
对不起,你的模式是什么意思?
-
Schema 是数据类型 pif 表的列及其键可能是索引 - 但是你应该在做 andy SQL 之前知道这一点 我会重新阅读你的教程 - 如果你不理解这个术语,有可能是您在我们的任何回复中无法理解的其他内容
标签: sql sql-server stored-procedures