小编sam*_*eld的帖子

与 EXEC 相比,使用 exec sp_executesql 执行存储过程的结果不同

我在数据库中有一个表,其中包含一些邮政编码及其纬度和经度,例如:

Id  PostCode    Latitude         Longitude
1   ll29 8ht    53.2973289489746    -3.72970223426819
Run Code Online (Sandbox Code Playgroud)

该表由MVC代码优先应用程序生成,纬度和经度数据类型是真实的

我有一个存储过程,它将 searchLatitude 和 searchLongitude 作为输入,然后计算距离:

CREATE PROCEDURE [dbo].[StockistSearch] 
    @searchLat float = 0,
    @searchLng float = 0
AS
BEGIN
    SET NOCOUNT ON;
SELECT top 40 
s.Id as Id,
a.Company as Company,
a.FirstName as FirstName,
a.LastName as LastName,
a.Address1 as Address1,
a.Address2 as Address2,
a.City as City,
a.ZipPostalCode as ZipPostalCode,
a.PhoneNumber as PhoneNumber,
a.FaxNumber as FaxNumber,
a.Email as Email,
s.latitude as Latitude,
s.longitude as Longitude,
( 3959 * acos( cos( radians(@searchLat) …
Run Code Online (Sandbox Code Playgroud)

sql sql-server stored-procedures entity-framework

5
推荐指数
1
解决办法
4716
查看次数