簡體   English   中英

sql查詢經緯度

[英]sql query latitude and longitude

我有這張桌子

CREATE TABLE [dbo].[EnquiryMaster](
    [EnquiryId] [int] IDENTITY(1,1) NOT NULL,
    [orgid] [int] NULL,
    [uid] [int] NULL,
    [Company] [varchar](160) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [HeadOfficeAddress] [varchar](460) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [ZipCode] [varchar](6) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [Latitude] [float] NOT NULL,
    [Longitude] [float] NOT NULL,   

    CONSTRAINT [PK_EnquiryMaster] PRIMARY KEY CLUSTERED 
    (
        [EnquiryId] ASC
    )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

我想編寫一個查詢,這樣它將顯示我將從下拉列表中選擇的公司經緯度100度內的所有公司。

嘗試這個

select * 
from [dbo].[EnquiryMaster] 
where (Latitude <= @lat and Longitude <= @long 
      and Latitude + 100 >= @lat and  Longitude +100 >= @long)
OR (Latitude >= @lat and Longitude >= @long 
      and Latitude - 100 <= @lat and  Longitude -100 <= @long)
OR (Latitude >= @lat and Longitude <= @long 
      and Latitude - 100 <= @lat and  Longitude + 100 >= @long)
OR (Latitude <= @lat and Longitude >= @long 
      and Latitude + 100 >= @lat and  Longitude - 100 <= @long)
where Latitude  between @lat  - 100 and @lat  + 100
and   Longitude between @long - 100 and @long + 100

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM