MySQL

개발자의 삶/MySQL

[MySQL] 경도 위도 기반으로 범위 내 데이터 구하기

현재 위치(경도,위도) 기반으로 범위 내 데이터를 구해야 할 이슈가 생겼다. 예시 - 현재 위치 37.579651 (Latitude) 126.977041 (Longitude) - DB 정보 table : locationMap 위도 : MAPX_LAT 경도 : MAPY_LON - 검색할 반경 : 20 = 20km (1km = 1) SELECT * FROM locationMap WHERE (6371*acos(cos(radians(37.579651))*cos(radians(MAPX_LAT))*cos(radians(MAPY_LON) - radians(126.977041))+sin(radians(37.579651))*sin(radians(MAPX_LAT)))) < 20 limit 0, 30 위처럼 쿼리를 날리면 ..

개발자의 삶/MySQL

Mysql 중복 건에 대한 update - duplicate key

문법은 이러하다 insert into 테이블명(컬럼1, 컬럼2, ...) values (값1, 값2, ...) on duplicate key update 중복 시 처리 할 내용 insert 건에 대해 중복된 튜플이 있다면 해당 튜플을 update 하는 방법이다. insert into 테이블명(컬럼1, 컬럼2) values (값1, 값2) on duplicate key update 컬럼1 = 값3; 해당하는 테이블(컬럼1, 컬럼2)에 값1과 값2인 튜플이 없을 경우 insert 가 동작하고 테이블(컬럼1, 컬럼2)에 값1과 값2인 튜플이 있는 경우 update 가 동작하여 값1이 값3으로 수정된다. name 과 phone 을 가지는 tb_test 테이블이 있다고 생각해보자. insert into tb_te..

개발자의 삶/MySQL

MySQL 문자열 자르기

1. 왼쪽에서 문자열 자르기 left(컬럼명 또는 문자열, 왼쪽에서 잘라낼 문자열의 길이) 예 : SELECT left("kedric-me", 6) 결과 : kedric 2. 오른쪽에서 문자열 자르기 right(컬럼명 또는 문자열, 길이); 예 : SELECT right("2018-05-04", 2) 결과 : 04 3. 중간에서 문자열 자르기 substring(컬럼 또는 문자열, 시작위치, 길이) 예 : SELECT substring("2018-05-04", 6, 2) 결과 : 05

Kedric
'MySQL' 태그의 글 목록