728x90
반응형

11) PADDING

  • PADDING : 빈 곳을 채워준다.
  • CHAR(9) - 20111234 <- 한 칸이 빈다. 이 빈 공간을 채워주는 것이 패딩이다.
  • 컬럼명, 자릿수를 표시한다.
  • 영어는 한 글자씩, 한글은 두 글자씩 자리를 차지한다.

 


▶ RPAD(속성, 자릿수, 채울 것) : 오른쪽에 채워준다.

예제1

SELECT RPAD(STU_DEPT, 15, '*')
FROM STUDENT;

 

 예제2

SELECT RPAD(JOB, 10, '*')
FROM EMP;

 


▶ LPAD(속성, 자릿수, 채울 것) : 왼쪽에 채워준다.

 예제

SELECT LPAD(JOB, 10, '*')
FROM EMP;

 

 

 


12) TRIM() : 앞뒤 공백을 제거한다.

SELECT TRIM('   TEST ')
FROM DUAL;

 

▶ RTRIM : 오른쪽 공백을 제거한다..

SELECT RTRIM('   TEST ')
FROM DUAL;

 

▶ LTRIM : 왼쪽 공백을 제거한다..

SELECT LTRIM('   TEST ')
FROM DUAL;

 

 

 


<EMP 테이블>을 이용한 실습

EMP 테이블

 


13) INSTR() : 문자를 찾는다.


 예제1

SELECT INSTR(JOB, 'N')
FROM EMP;

 

 예제2

SELECT INSTR(JOB, 'A', 1)
FROM EMP;

 

 예제3) 첫 번째부터 글자부터 찾되 두 번째 자리부터 A를 찾아라

SELECT INSTR(JOB, 'A', 1, 2)
FROM EMP;

 

 

 


14) INITCAP() : 첫 번째 글자를 대문자로 출력해 준다.

SELECT INITCAP(JOB)
FROM EMP;

 

 

 


14) UPPER() : 모든 문자를 대문자로 출력해 준다.

SELECT UPPER(JOB)
FROM EMP;

 

 

 


15) LOWER() : 모든 문자를 소문자로 출력해 준다.

SELECT LOWER(JOB)
FROM EMP;

 

 

 


16) SUBSTR(컬럼명, 시작위치,  몇 개를 출력할지) : 위치를 지정하여 출력해 준다.

예제1) 네 번째 자리부터 3글자 출력

SELECT SUBSTR(JOB, 4, 3)
FROM EMP;

 

 예제2) 네 번째 자리부터 끝까지 출력

SELECT SUBSTR(JOB, 4)
FROM EMP;

 

 

 


17) LENGTH() : 컬럼의 길이를 받아온다.

SELECT LENGTH (JOB)
FROM EMP;

 

 

 


18) REPLACE(컬럼명, 변경할 글자, 변경되는 글자) : 글자를 변경한다.

예제) A를 Z로 바꿔 출력

SELECT REPLACE (JOB, 'A', 'Z')
FROM EMP;

 

 

 


19) DECODE() :  조건문.JAVA의 IF와 비슷하다. 

STU_GENDER가 'M'이면 '남자', 나머지는 '여자'(else 와 같은 의미)

SELECT DECODE(STU_GENDER, 'M', '남자', '여자') AS TEST
FROM STUDENT;

 

 STU_GENDER가 'M'이면 '남자', 'F'이면 '여자'(else if 와 같은 의미), 나머지는 '없음' (else 와 같은 의미)

SELECT DECODE(STU_GENDER, 'M', '남자', 'F', '여자', '없음') AS TEST
FROM STUDENT;

 

 

 


20) NVL() : NULL값이 있으면 뒤에 작성한 값으로 대체한다.

 예제1) <EMP> 테이블에서 COMM값이 NULL이면 0으로 출력하라.

SELECT EMPNO, ENAME, JOB, SAL, NVL(COMM, 0) AS COMM
FROM EMP;

 

 

 예제2) <EMP> 테이블에서 COMM값이 NULL이면 99로 출력하라.

SELECT EMPNO, ENAME, JOB, SAL, NVL(DEPTNO, 99) AS DEPTNO
FROM EMP;

 

 

 


21) TO_DATE() :  컬럼의 값를 날짜 포맷으로 변환해준다.

SELECT COUNT(*)
FROM PROFESSOR
WHERE HIREDATE BETWEEN TO_DATE('95/01/01') AND TO_DATE('05/12/31');

 

 

 


22)  || : 앞 뒤 값을 이어 붙인다.

SELECT STU_NAME || STU_DEPT
FROM STUDENT;

 

 

 


22)  WHERE ROWNUM=1 : 최상위에 있는 값을 한 줄 가져온다

SELECT *
FROM STUDENT
WHERE ROWNUM=1;

 

 

 

 

 

실습 문제

 

[SQL] SQL 함수 실습 (19일차)

 

deliciouscode.tistory.com

 

 

 

 

 

 

 


2023년 6월 12일 월요일

<19일차 수업 후기>

그룹 함수만 몇 개 알고있었는데, 그 외에도 이렇게 많은 함수가 있다는 것을 깨달았다. 그 중, PADDING 함수와 DECODE 함수의 실습을 많이 했으니 이 두 개를 잘 외워야겠다.

728x90
반응형

'HRD_훈련 > ORACLE SQL' 카테고리의 다른 글

[SQL] 시간 함수 (21일차)  (0) 2023.06.14
[SQL] SELF, OUTER JOIN (21일차)  (0) 2023.06.14
[SQL] INNER JOIN (20일차)  (0) 2023.06.13
[SQL] SQL 함수(1/2) (19일차)  (0) 2023.06.12
[SQL] SQL 응용 (19일차)  (0) 2023.06.12

+ Recent posts