0

特定の緯度/経度および検索半径内にあるすべての行を返すストアド プロシージャを作成しようとしています。

作成コード (以下) を実行すると、次のようになります。

「'<' 付近の構文が正しくありません」

次の行である必要があります。

@p1.STDistance(geography::Point([LATITUDE], [LONGITUDE], 4326)) <= @searchRadius as [DistanceInKilometers]

理由はありますか?

ありがとう

SPROC 全体は次のとおりです。

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:         slinky66
-- Create date:    2013-06-26
-- Description:    Returns all meeting locations within a given lat/lng and search radius
-- =============================================
CREATE PROCEDURE [dbo].[kiwone_GetNearMeetingLocationInKilometers_SP] 

    -- Add the parameters for the stored procedure here
    @latitude decimal(18,14),
    @longtitude decimal(18,14),
    @searchRadius decimal (3,2),
    @p1 geography
AS

BEGIN

    SET NOCOUNT ON;

   -- @p1 is the point you want to calculate the distance from which is passed as parameters
   -- declare @p1 geography = geography::Point(@latitude,@longtitude, 4326);

   select
   c.LABEL_NAME,
   k.*,
   @p1.STDistance(geography::Point([LATITUDE], [LONGITUDE], 4326)) <= @searchRadius as [DistanceInKilometers]
   from [USR_KIW_CUS_MEETING] as k
   join CUSTOMER as c
   on c.MASTER_CUSTOMER_ID = k.MASTER_CUSTOMER_ID
   where c.USR_MEMBERSHIP_STATUS_CODE NOT IN('CR','CSD')
END
GO
4

1 に答える 1

1

およびデータ型は SQL Server 2005 にはGeographyありGeometryませんでした。それらは SQL Server 2008 まで導入されませんでした。

于 2013-06-26T20:34:46.523 に答える