개발자의 삶/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 DATEDIFF 함수

날짜 차이 계산을 위해 사용. 쓰는법- DATEDIFF(date1, date2);date1 값에서 date2 값을 뺀 날짜의 값을 반환. ex - select DATEDIFF("2016-05-10" , "2016-05-08"); // 결과값 - 2 참고사이트 : http://88240.tistory.com/225

개발자의 삶/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

개발자의 삶/MySQL

MySQL sql_mode 변경

웹에서 로컬 DB에 접근하는데컴퓨터를 껏다 켜거나 DB를 껏다 키면종종 불러오질 못할 때가 있었다.sql mode를 확인후에 설정하여 해결할 수 있었다. sql mode 변경 select @@GLOBAL.sql_mode;하면 그 값에 따라group by 에너가 날수 있다. set GLOBAL sql_mode='';로 설정하여 해결

Kedric
'개발자의 삶/MySQL' 카테고리의 글 목록