DATABASE/Oracle

[ORACLE] 기본적인 내장함수

잇나우 2020. 2. 4. 22:54
반응형

COUNT(*)와 COUNT(컬럼)

COUNT(*)와 COUNT(1)은 동일한 기능을 하고 있다. 하지만 COUNT(컬럼)과는 약간의 차이점이 있다.

COUNT(*)은 NULL값을 포함한 모든 행의 갯수를 나타낸다
COUNT(컬럼)은 NULL값은 제외한 행의 갯수를 나타낸다.

SELECT COUNT(*) FROM EMP;  -- 전체 사원수 

기본적인 내장 함수

평균값을 나타내는 AVG(컬럼)

SELECT AVG(age) FROM TEST;  -- 평균나이

이때 평균나이가 소수점 이하로 떨어져 실수가 될 수 있는데 그럴때는 아래 코드처럼 하면된다.

SELECT ROUND(AVG(age)) FROM TEST;   -- 반올림 : ROUND()
SELECT CEIL(AVG(age)) FROM TEST;    -- 올림 : CEIL
SELECT FLOOR(AVG(age)) FROM TEST;   -- 내림 : FLOOR

컬럼의 값들중 가장 큰 값과 작은 값을 나타내는 함수도 있다.

SELECT MAX(age) FROM TEST;  -- 최고령
SELECT MIN(age) FROM TEST;  -- 최연소
-- MAX()는 최대값을 MIN()은 최소값을 출력해준다.

오라클에서는 NULL값인 데이터를 다른 데이터로 출력을 할 수 있는 함수가 있다.

SELECT NVL(age, 0) FROM TEST;
// age컬럼에서 NULL값을 가진 데이터를 0으로 변환시킨다.

다른 데이터타입을 문자열로 바꿔주는 변환함수가 있다. 형식보다는 어떤 기호, 알파벳이 무슨 의미를 가지고 있는지 알면 기호를 사용해 여러가지 조합을 하여 사용할 수 있다.

-- TO_CHAR
SELECT TO_CHAR(SYSDATE, 'yyyy') FROM DUAL;  -- 현재날짜에서 4자리 년도 출력
SELECT TO_CHAR(SYSDATE, 'year') FROM DUAL;  -- 현재날짜에서 영어로 년도 출력
SELECT TO_CHAR(SYSDATE, 'month') FROM DUAL:  -- 현재 날짜에서 월 출력
SELECT TO_CHAR(SYSDATE, 'mm') FROM DUAL; -- 현재 날짜에서 2자리 월 추출 (01, 02...)
SELECT TO_CHAR(SYSDATE, 'dd') FROM DUAL;   -- 현재날짜에서 일 출력
SELECT TO_CHAR(SYSDATE, 'hh') FROM DUAL;  -- 시간 2자리(1~12)
SELECT TO_CHAR(SYSDATE, 'hh24') FROM DUAL;  -- 시간 2자리(1~24) 
SELECT TO_CHAR(SYSDATE, 'mi') FROM DUAL;  -- 분 2자리  // mm이 아니라 mi이다 주의!
SELECT TO_CHAR(SYSDATE, 'ss') FROM DUAL;  -- 초 2자리

문자함수

SQL 뿐만 아니라 다른 언어에서도 기본적으로 지원해주는 함수와 비슷한 것들이 많다.

SELECT CONCAT('apple', 'banana') FROM DUAL;
> applebanana   // 문자를 합치는 함수

SELECT INITCAP('apple') FROM DUAL;
> Apple        // 첫글자만 대문자로 출력한다

SELECT LOWER('APPLE') FROM DUAL;
> apple         // 문자를 소문자로 출력한다.

SELECT UPPER('apple') FROM DUAL;
> APPLE          // 문자를 대문자로 출력한다.

SELECT LENGTH('happy day') FROM DUAL;
> 9              // 문자의 길이를 출력한다.

SELECT RPAD('12345', 10, '*') FORM DUAL;
> 12345*****     // RPAD(표시될문자, 총문자길이, 표시될기호)

SELECT LPAD('12345', 10, '*') FROM DUAL;
> *****12345     // LPAD(표시될문자, 총문자길이, 표시될기호)
반응형