일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 술안주
- 트래커
- 트레커
- javascript
- C#
- 초대장
- 토렌트
- 함수
- 카카오헤어샵
- .net
- Lock
- 내장함수
- 재테크
- Google Map
- 국정화 반대
- 박근혜 탄핵
- db
- 하남맛집
- 카카오가 찾아준 헤어샵
- 파리바게트 청라 SK점
- 파리바게트
- 국정화
- 티스토리
- 하남
- 동적쿼리
- 최신트래커
- MSsql
- jquery
- 신장사거리
- 맛집
- Today
- Total
featur
[mssql] 위도 경도를 이용한 두 위치 사이의 거리 구하기 본문
[mssql] 위도 경도를 이용한 두 위치 사이의 거리 구하기
ALTER FUNCTION [dbo].[FN_TO_DISTANCE](
@lat1 AS FLOAT,
@long1 AS FLOAT,
@lat2 AS FLOAT,
@long2 AS FLOAT
)
/*
위도,경도를 이용한 두 위치사이의 거리 구하기
*/
RETURNS FLOAT AS
BEGIN
DECLARE @V_RETURN FLOAT;
SELECT @V_RETURN = distance
FROM
(SELECT 2 * atn2(sqrt(p.a), sqrt(1-p.a)) * 6387700 as distance
FROM
(SELECT sin(l.dLat/2) * sin(l.dLat/2) + sin(l.dLon/2) * sin(l.dLon/2) * cos(l.lat1) * cos(l.lat2) as a
FROM
(SELECT radians(k.lat2 - k.lat1) as dLat,
radians(k.long2 - k.long1) as dLon,
radians(k.lat1) as lat1,
radians(k.lat2) as lat2
FROM
(SELECT @lat1 as lat1,
@long1 as long1,
@lat2 as lat2,
@long2 as long2
) k
) l
) p
) o;
RETURN @V_RETURN;
END;
'개발 > MSSQL' 카테고리의 다른 글
[MSSQL] 문자열 자르기 SUBSTRING (0) | 2018.05.15 |
---|---|
MSSQL 동적쿼리에서 output parameter 사용 (0) | 2018.04.05 |
[MSSQL] 날짜변환 가능여부 확인 ISDATE() (0) | 2017.11.30 |
[MSSQL] 테이블명, 컬럼명 검색 (0) | 2017.07.07 |
[MSSQL] 산술 오버플로 오류가 발생했습니다. (0) | 2017.04.27 |