본문 바로가기

함수4


오라클 - 문자열을 자릿수만큼 채워주는 LPAD(), RPAD() 함수 DB 작업을 하다보면 가끔이지만 자릿수를 채워야 할 일이 생긴다. 예를 들자면 회원가입 시, 혹은 물품의 일련번호 기입시 순번이라거나 년도 + 시퀀스로 회원 번호를 만들거나 하는 경우인데 가끔 정말 무식한 방법으로 프로그램을 짠 곳을 보면 길이 체크를 해서 IF문으로 일일이 0, 00 등을 붙이는 곳이 있는데... 이건 정말 아니라고 본다. 하여튼 이럴 때는 오라클에서 제공하는 LPAD, RPAD 함수를 사용하면 되는데 이 함수들은 지정한 자릿수만큼 부족한 글자를 채워주는 기능을 한다. 사용법은 매우 간단하다.LPAD('컬럼 또는 문자열', 길이, '문자') RPAD('컬럼 또는 문자열', 길이, '문자') SELECT LPAD('1', 5, '0'), LPAD('11', 5, '0') FROM DUAL.. 2018. 4. 14.
오라클 RANK 심화 - RANK() WITHIN GROUP(), RANK() OVER(), ROW_NUMBER() OVER(), DENSE_RANK() ※ ORDER BY SALARY DESC 의 그룹에서 3,000 의 순위는? 기본 문법 : RANK(순위를 구할 컬럼 혹은 값) WITHIN GROUP(ORDER BY 기준이 될 컬럼 [정렬값]) 값 대신 컬럼명을 이용해 전체적인 순위를 구할 수도 있다. SELECT RANK(3000) WITHIN GROUP(ORDER BY SALARY DESC) as DESC_RANK FROM EMPLOYEES DESC_RANK : 82 SELECT RANK(3000) WITHIN GROUP(ORDER BY SALARY ASC) as ASC_RANK FROM EMPLOYEES ASC_RANK : 25 ※ 제일 많은 급여를 받는 사람부터 정렬하면서 RANK 매기기 기본 문법 : RANK() OVER(ORDER BY 기준.. 2018. 2. 18.
오라클 AVG 심화 - AVG() OVER() ※ 부서ID 를 기준으로 급여의 평균을 구해 같이 표시해준다. 기본 문법 : AVG(평균값을 구할 컬럼) OVER(PARTITION BY 기준이 될 컬럼) SELECT EMPLOYEE_ID, SALARY, DEPARTMENT_ID, AVG(SALARY) OVER(PARTITION BY DEPARTMENT_ID) AS DEPART_AVG_SALARY FROM EMPLOYEES WHERE DEPARTMENT_ID IN (10,20,30); ※ 결과값 EMPLYEE_ID SALARY DEPARTMENT_ID DEPART_AVG_SALARY 200 4400 10 4400 201 13000 20 9500 202 6000 20 9500 114 11000 30 4150 115 3100 30 4150 116 2900 .. 2018. 2. 18.
많이 쓰이는 오라클 함수 ※ 반올림 함수 - round(value, n) . 을 기준으로 양수는 오른쪽, 음수는 왼쪽이다. 양수일 경우는 . 을 기준으로 오른쪽에서 n 만큼 이동한 후 해당 커서가 닿는 곳의 오른쪽의 수를 반올림한다.음수일 경우는 . 을 기준으로 오른쪽에서 n 만큼 이동한 후 해당 커서가 닿는 곳의 왼쪽의 수를 반올림한다. 예) round(13.281, 2) : 13.28예) round(13.286, 2) : 13.29예) round(13.281, -1) : 10 ※ 버림 함수 - trunc(value, n) . 을 기준으로 양수는 오른쪽, 음수는 왼쪽이다. 양수일 경우는 . 을 기준으로 오른쪽에서 n 만큼 이동한 후 해당 커서가 닿는 곳의 오른쪽의 수를 반올림한다.음수일 경우는 . 을 기준으로 오른쪽에서 n 만.. 2018. 2. 18.