2022-03-11 SELECT 쿼리 조회 시 NULL을 리턴하는 경우 어디서 예외처리를 하던 db 에서나 애플리케이션 단에서나 오류가 발생하게 된다. 이와 같은 SELECT 쿼리 조회시 발생할 수 있는 NULL처리를 간단히 하는 함수중 COALESCE에 대하여 알아보자. - 정의 COALESCE(x, y) = (CASE WHEN x IS NOT NULL THEN x ELSE y END) 공식문서에는 위와 같은 형식으로 간단히 그 의미를 표현하고 있다. 이를 해석하면 해당 함수의 매개 값 중 앞에 있는 값(X)이 NULL이 아니면 앞에 값(X)을 아닐 경우 다음 매개변수(Y)를 체크하여, 그 값을 리턴한다. 이해가 어려울 수 있으니 아래의 예시를 보자. - 예시 -- 1을 리턴한다. SELECT COAL..
2022-03-04 DB에 lock 걸리거나 잘못된 select 문으로 대량의 데이터를 불러올 경우 해당 쿼리문을 종료해야 되는 경우가 종종 있다. 이러한 경우에 어떻게 해결하는지 알아보자. - 해결방법 MySQL WrokBrench 든 어디든 해당 DB에 쿼리문을 작성하면 된다. 우선적으로 현재 실행중인 프로세스 정보를 확인한다. show processlist; 위의 명령어를 통해 프로세스 정보를 테이블 형태로 확인할 수 있으며, 자신의 종료하고자 하는 프로세스의 아이디 정보를 기억하자. 여러 컬럼 중 컬럼명 Id라고 나올 것이다. -- Id 값을 숫자 이다. kill 뒤에 자신의 종료하고자 하는 -- Id 즉 숫자로 넣어주면된다. kill 12345 이후 위와 같이 자신의 종료하고자 하는 프로세스의 ..
2022-02-28 페이징 처리에서 많이 사용되는 ROWNUM을 MySQL에서 사용하는 방법을 알아보도록 하자. - 사용법 mysql에서의 ROWNUM은 반드시 초기화해주는 과정이 필요하다. 이는 SELECT 절 호출 이전에 FROM이나 WHERE 절에서 초기화해주는데 상황에 맞게 사용해 주면 된다. - from에서 사용 select @rownum := @rownum + 1 rownumber, t.* from test t, (select @rownum := 0) rownum - where 에서 사용 select @rownum := @rownum + 1 rownumber, t.* from test t where(@rownum := 0) = 0; - 역순사용 역순 사용은 이미 호출된 ROWNUM을 서브 쿼리..
2022-02-11 - 날짜 8자리 표현 가장 많이 사용되는 표현 형태로 DATE(년/월/일) 관련 정보를 VARCHAR 형태로 저장할 때 많이 사용된다. SELECT DATE_FORMAT(NOW(),'%Y%m%d'); - 시간 6자리 표현 흔히 시/분/초의 형태로 6자리를 저장하는 방법이다. SELECT DATE_FORMAT(NOW(),'%H%i%s'); - 다양한 기호와 함께 사용 단순 숫자로만 표현하는 것이 아닌 다양한 기호와 함께 포함하여 사용할 수 도 있다. SELECT DATE_FORMAT(NOW(),'%Y-%m-%d'); -- 2022-02-11 SELECT DATE_FORMAT(NOW(),'%Y/%m/%d'); -- 2022/02/11 SELECT DATE_FORMAT(NOW(),'%Y~%..
2021-05-08 - 올림 CEIL -- 올림 10.54 구하기 답: 11 SELECT CEIL(10.54) FROM DUAL; -- 올림 10.33 구하기 답: 11 SELECT CEIL(10.33) FROM DUAL; CEIL이라는 숫자 함수를 사용 시 소솰호 안에 올림을 하고 싶은 실수를 넣어주면 된다. 소수점이 어떠한 경우에도 올림 처리가 되며 위의 예제는 결괏값이 모두 11이 나오게 된다. - 내림 FLOOR -- 내림 10.54 구하기 답: 10 SELECT FLOOR(10.54) FROM DUAL; -- 내림 10.33 구하기 답: 10 SELECT FLOOR(10.33) FROM DUAL; 내림의 기능을 하는 함수는 FLOOR로 CEIL 가 마찬가지로 소괄호 안에 내림을 하고 싶은 실수를..
2021-05-07 - 제곱 오라클에서 제곱을 구하는 방법은 POWER라는 함수를 사용하며, 두 가지 매개 값을 받는다. -- 2 의 4 제곱 구하기 답: 16 SELECT POWER(2, 4) 제곱 FROM DUAL; -- 3 의 3 제곱 구하기 답: 27 SELECT POWER(3, 3) 제곱 FROM DUAL; 위의 예제처럼 2와 4를 받으면 2의 4제곱을 구할 수 있다. - 제곱근 제곱근을 구하기 위해서는 SQRT 함수를 사용하며 매개 값은 제곱근을 구하기 위한 정수 하나를 받는다. 예제는 아래와 같다. -- 16 의 제곱근 구하기 답: 4 SELECT SQRT(16) 제곱근 FROM DUAL; -- 81 의 제곱근 구하기 답: 9 SELECT SQRT(81) 제곱근 FROM DUAL; 만약에 제..