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 테이블>을 이용한 실습

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 |