숫자 함수 - 특정 위치에서 버리는 함수(TRUNC)

 

TRUNC 함수는 지정된 자리 이하 숫자를 버리는 함수 입니다. 위치를 지정하지 않으면 소수점 이하 숫자를 버림 처리 합니다.


TRUNC
( 숫자, [버림위치] )

예제를 통헤 RTUNC 함수를 살펴 봅시다.

SELECT  TRUNC(1234.5678), 
        TRUNC(1234.5678, 0),
        TRUNC(1234.5678, 1),
        TRUNC(1234.5678, 2),
        TRUNC(1234.5678, -1),
        TRUNC(1234.5678, -2)
FROM DUAL;

 

 

※ 예제로 사용된 TABLE의 정보는 'SCOTT 계정 예제 Table(emp, dept, salgrade)'을 참고하시면 됩니다.

숫자 함수 - 특정 위치에서 반올림 함수(ROUND)

특정 숫자를 반올림하면서 반올림 할 위치를 지정할 수 있습니다. 지정하지 않으면 소수 첫째 자리에서 반올림한 결과를 반환합니다.

ROUND( 숫자, [반올림 위치] )

 

ROUND 함수를 이용하여 다양한 위치에서 반올림 을 해봅시다.

SELECT  ROUND(1234.6578), 
        ROUND( 1234.6578, 0),
        ROUND(1234. 6578, 1),
        ROUND(1234. 6578, 2),
        ROUND(1234. 6578, -1),
        ROUND(1234. 6578, -2)
FROM DUAL;

 

 

※ 예제로 사용된 TABLE의 정보는 'SCOTT 계정 예제 Table(emp, dept, salgrade)'을 참고하시면 됩니다.

 

 

 

 

 

특정 문자 지우기(TRIM, LTRIM, RTRIM)

특정문자를 지우고 싶을때는 TRIM, LTRIM, RTRIM 함수를 사용하시면 됩니다.

1. TRIM 함수

TRIM( [삭제 옵션], [삭제할 문자] FROM 문자열 )

삭제 옵션에는 왼쪽 글자를 지우는 LEADING, 오른쪽 글자를 지우는 TRAILING, 양쪽 글자를 지우는 BOTH 가 있이며,
생략시에는 양쪽 값이 모두 삭제됩니다.

이때, 삭제할 문자는 필수가 아니며, 삭제할 문자를 지정하지 않으면 공백을 지웁니다. 

SELECT  '[' || '   LOVE   YOU   ' || ']' AS ORIGINAL, 
        '[' || TRIM ('   LOVE   YOU   ') || ']' AS TRIM, 
        '[' || TRIM (LEADING FROM '   LOVE   YOU   ') || ']' AS TRIM_L, 
        '[' || TRIM (TRAILING FROM '   LOVE   YOU   ') || ']' AS TRIM_T, 
        '[' || TRIM (BOTH FROM '   LOVE   YOU   ') || ']' AS TRIM_B 
FROM DUAL;

이번에는 삭제할 문자열이 있는 경우를 살펴 봅시다.

SELECT  '[' || '***LOVE***YOU***' || ']' AS ORIGINAL, 
        '[' || TRIM ('*' FROM '***LOVE***YOU***') || ']' AS TRIM, 
        '[' || TRIM (LEADING '*' FROM '***LOVE***YOU***') || ']' AS TRIM_L, 
        '[' || TRIM (TRAILING '*' FROM '***LOVE***YOU***') || ']' AS TRIM_T, 
        '[' || TRIM (BOTH '*' FROM '***LOVE***YOU***') || ']' AS TRIM_B 
FROM DUAL;

 

2. LTRIM, RTRIM 함수

TRIM 함수 이외에  LTRIM, RTRIM 함수를 사용에 대한 예제도 살펴 봅시다.

LTRIM( 원본 문자열 데이터, [삭제할 문자 또는 문자열]  )
RTRIM(원본 문자열 데이터, [삭제할 문자 또는 문자열]  )

LTRIM, RTRIM 함수는 각각 왼쪽, 오른쪽의 지정 문자 또는 문자열을 삭제할 때 사용합니다. 삭제할 문자 또는 문자열을 지정하지 않으면 공백 문자를 삭제합니다.

SELECT  '[' || '   LOVE   YOU   ' || ']' AS ORIGINAL, 
        '[' || TRIM ('   LOVE   YOU   ') || ']' AS TRIM, 
        '[' || LTRIM ('   LOVE   YOU   ') || ']' AS LTRIM, 
        '[' || RTRIM ('   LOVE   YOU   ') || ']' AS RTRIM
FROM DUAL;

공백이 아닌 문자열이 있는 경우를 예제로 살펴 봅시다.

SELECT  '[' || '*_*LOVE*_*YOU*_*' || ']' AS ORIGINAL, 
        '[' || TRIM ('*_*LOVE*_*YOU*_*') || ']' AS TRIM, 
        '[' || LTRIM ('*_*LOVE*_*YOU*_*', '*_') || ']' AS LTRIM, 
        '[' || RTRIM ('*_*LOVE*_*YOU*_*', '*_') || ']' AS RTRIM
FROM DUAL;

 

실무에서는 데이터를 저장할때 저장할 데이터 앞이나, 끝에 의미 없는 공백을 제거하고 저장 한다거나, Login시 사용자의 실수로 입력된 공백이 있을 수 있어 이를 제거하고 비교할때 사용 됩니다.

 

※ 예제로 사용된 TABLE의 정보는 'SCOTT 계정 예제 Table(emp, dept, salgrade)'을 참고하시면 됩니다.

[Oracle] 숫자 함수 - 나머지를 구하는 함수(MOD)

MOD 함수는 나눗셈을 수행하고 남은 나머지를 구하는 함수 입니다.

MOD ( 나머지를 구할 숫자, 나눌 숫자 )

 

예제를 통해 MOD 함수의 사용을 살펴 봅시다.

SELECT  MOD(100,2),
        MOD(99,2),
        MOD(3.14, 3),
        MOD(-99,2),
        MOD(-3.14,3)
FROM DUAL;

 

두 문자열 데이터 합치기(CONCAT)

 

두 문자열 데이터를 하나로 연결하고 표현하고 싶을때 CONCAT 함수를 사용하시면 됩니다. ENAME과 JOB을 합쳐서 출력해 봅시다. 이때, ENAME과 JOB의 구분이 잘 될수 있도록 중간에 ' - ' 를 넣어 봅시다.

SELECT ENAME, JOB, 
    CONCAT(ENAME, JOB),
    CONCAT(ENAME, CONCAT(' - ', JOB))
FROM EMP;

 

[참고] CONCAT 함수와 비슷한  '||' 연산자

'||' 연산자는 문자열 데이터를 연결하는 연산자로, CONCAT 함수와 비슷하게 사용할 수 있습니다.

위와 같은 결과 값을 갖도록 '||' 연산자를 이용한 쿼리를 만들어 보면 다음과 같습니다.

 

※ 예제로 사용된 TABLE의 정보는 'SCOTT 계정 예제 Table(emp, dept, salgrade)'을 참고하시면 됩니다.

+ Recent posts