오늘 작성할 함수는 다음과 같다.

 

1) 절대값 구하기 함수

2) 올림, 내림, 반올림 함수

3) 나머지(MOD) 계산 함수

4) 대소문자 변환 함수

5) 출력 자리 수 지정 함수

 

본문을 작성하기에 앞서 사용할 테이블은 DUAL 테이블을 기본으로 사용하며 이전 포스팅에서 사용했던

EMP 테이블을 사용할 예정이다. (지난 포스팅 첨부파일)

※ DUAL : 가상의 빈 테이블. 테이블이 필요 없지만 문장을 완성하기 위해 사용

 

 

1. 수학 함수

1) 절대값 구하기 ABS( )

ABS ( 값 ) 의 형태로 사용한다.

SELECT ABS(-1.234) 절대값 FROM DUAL;
 
대표사진 삭제

실행 결과

2) 올림 CEIL( )

CEIL ( 값 ) 의 형태로 사용한다.

자연수는 올림이 진행되지 않고 오로지 소수점 자리만 올림이 가능하다.

SELECT CEIL(10.1234) "소수점 올림 값",
        CEIL(10) "자연수 올림 값"
FROM DUAL;
 
대표사진 삭제

실행 결과

3) 내림 FLOOR( )

FLOOR ( 값 ) 의 형태로 사용한다.

올림과 마찬가지로 소수점 까지만 내림을 진행한다.

 

SELECT FLOOR(15.66) "소수점 내림 값",
        FLOOR(15) "자연수 내림 값"
FROM DUAL;
 
대표사진 삭제

실행 결과

4) 반올림 ROUND( )

반올림 함수는 올림, 내림과 달리 자릿수 지정이 가능하여 ROUND (n, m) [n = 값, m = 자릿수] 로 사용한다.

m 의 값이 0, 1, 2, ~ 라면 소수점 1번째 라는 의미이며 반대로 음수인 -1 은 자연수 첫째자리를 의미한다.

SELECT ROUND(5.62, 0) "첫째자리 반올림 값",
ROUND(5.62, 1) "둘째자리 반올림 값",
ROUND(5.62, -1) "자연수 반올림 값"
FROM DUAL;
 
대표사진 삭제

실행 결과

5) 나머지 계산 MOD ( )

두 수를 나누어 나머지를 계산하는 함수로 MOD( n, m ) 의 형태로 사용되며, n 을 m 으로 나눈 나머지를 뜻한다.

SELECT MOD(9, 2) "나머지 값" -- 9를 2로 나눈 나머지.
FROM DUAL; 
 
대표사진 삭제

실행 결과

6) 소수점 출력 자리 지정 TRUNC( )

숫자를 출력할 자릿수를 지정한다. TRUNC( n, m ) 의 형태로 사용된다.

n은 값이며 m은 반올림과 비슷하게 양수, 음수를 통해 표시할 자리를 지정한다.

SELECT TRUNC(15.9876, 1) "소수점 첫째자리",
        TRUNC(15.9876, 2) "소수점 둘째자리",
        TRUNC(15, -1) "자연수 첫째자리",
        TRUNC(15, -2) "자연수 둘째자리"
FROM DUAL;
 
대표사진 삭제

실행 결과

재밌는 점은 15를 자연수 첫째 자리까지만 표시하면 1이 될 줄 알았지만 실행결과 10으로 나오게 된다.

 

2. 문자 함수

문자 함수는 사용 방법이 간단하지만 외워두면 유용할 것 같아 별도로 정리한다.

문자 함수를 사용하기 위해 사용 테이블은 EMP 테이블을 사용한다.

 

1) 대문자 -> 소문자 변환 LOWER( )

LOWER( 값 ) 의 형태로 사용한다.

SELECT LOWER(ENAME) 
FROM EMP;
 
대표사진 삭제

실행 결과

2) 소문자 -> 대문자 변환 UPPER( )

이번엔 반대로 변환해보자.

SELECT UPPER(ENAME)
FROM EMP;
 
대표사진 삭제

실행 결과

여기서 중요한 것은 문자를 변환하였어도 원본 데이터는 변경되지 않는다는 것이다.

SELECT ENAME "원본 데이터1",
        LOWER(ENAME) "대->소",
        UPPER(ENAME) "소->대",
        ENAME "원본 데이터2"
FROM EMP;
 
대표사진 삭제

실행 결과

 

 

'DB > 구자료' 카테고리의 다른 글

INDEX  (0) 2022.08.28
VIEW (feat. OR REPLACE)  (0) 2022.08.28
시퀀스 (SEQUENCE)  (0) 2022.08.28
SYNONYM(동의어)  (0) 2022.08.28
SUM, AVG, MAX, MIN, COUNT  (0) 2022.08.28

+ Recent posts