[ORACLE] 오라클 LPAD, RPAD, TRIM, LTRIM, RTRIM (자리 수 채우기/지우기)
* 오라클에서 데이터의 자리 수를 채우는 방법을 알아보자. * 업무를 하다보면 PK값 채번, 길이 맞춤 등의 이유로 값을 만들어야 할 일이 종종 있다. 1. LPAD / RPAD ( 채우기 ) SELECT -- LPAD( 값, 총길이, 채울값 ) LPAD( 1, 4, '0' ) -- 0001 , LPAD( 1, 5, '0' ) -- 00001 -- RPAD( 값, 총길이, 채울값 ) , RPAD( 1, 4, '0' ) -- 1000 , RPAD( 1, 5, '0' ) -- 10000 FROM DUAL 2. TRIM / LTRIM / RTRIM ( 공백 제거 ) SELECT -- TRIM( 문자열 ) TRIM( ' 공백 제거 ' ) -- '공백 제거' -- LTRIM( 문자열, 제거할값 ) LTRIM( '..
2021. 10. 26.
[ORACLE] 오라클 ROUND, TRUNC (소수점 반올림, 버림)
* 오라클에서 소수점 반올림, 버림(절사) 하는 방법을 알아보자. * 업무를 하다보면 금액 계산 등의 이유로 계산 로직을 사용하면서 디비에서 값을 올리고 버리는 일이 종종 있다. 1. ROUND ( 반올림 ) SELECT ROUND( 123.567 ) -- 124 , ROUND( 123.567 , 0 ) -- 124 , ROUND( 123.567 , 1 ) -- 123.6 , ROUND( 123.111 , 1 ) -- 123.1 FROM DUAL 2. TRUNC ( 버림, 절사 ) SELECT TRUNC( 123.567 ) -- 123 , TRUNC( 123.567 , 0 ) -- 123 , TRUNC( 123.567 , 1 ) -- 123.5 FROM DUAL
2021. 9. 10.
[ORACLE] 오라클 문자열 붙이기 / WM_CONCAT / LISTAGG
* WM_CONCAT, LISTAGG, 문자열 연결, 컬럼 붙이기, 컬럼연결, 여러행합치기 * 10g~11g R1에서는 WM_CONCAT, 11g R2 이상부터는 LISTAGG 사용 (버전모르겠으면 그냥 다해보고 되는거 하면됩니다) * 모두 GROUP 함수이기 때문에 GROUP BY는 생략. 1. WM_CONCAT ( 10g ~ 11g R1 ) -- 문자열/컬럼내용 붙이기 SELECT WM_CONCAT(컬럼명) FROM 테이블명 > ROW1,ROW2,ROW3,ROW4,ROW4 -- 중복 제거하자 SELECT WM_CONCAT(DISTINCT 컬럼명) FROM 테이블명 > ROW1,ROW2,ROW3,ROW4 -- 예쁘게 정리하자 SELECT REPLACE(WM_CONCAT(DISTINCT 컬럼명), ','..
2021. 8. 20.