본문 바로가기
SQL

SQL select - 실습12

by hj_it 2024. 1. 31.
단일 행 함수

- 각 행별로 데이터 값을 얻을 수 있다.

-  함수명(인수1, 인수2, ....)로 사용 가능하며 인수로는 컬럼명, 수식, 변수, 상수 등이 사용 가능하다.

- 단일 행 함수는 SELECT절, WHERE절, HAVING절 등 거의 모든 구문에 사용 가능하다.

- 단일 행 함수 종류

  . 문자함수, 숫자함수, 날짜함수, 변환함수, 일반함수 등

 

문자 함수
  1. LOWER
    • 문자열을 소문자로 변환한다.
    • LOWER('ORACLE') → oracle
  2. UPPER
    • 문자열을 대문자로 변환한다.
    • UPPER('oracle') → ORACLE
  3. INITCAP
    • 첫 번째 문자는 대문자로, 나머지는 소문자로 변환한다.
    • INITCAP('oracle') → Oracle
  4. SUBSTR
    • 문자열 내 지정된 위치의 문자열을 검색한다.
    • SUBSTR('oracle', 1, 2) → or
  5. INSTR
    • 문자의 위치 변환
    • INSTR('ORACLE', 'A') → 3
  6. TRIM
    • 접두(접미) 글자를 잘라낸다.
    • TRIM('o' FROM 'oracle') → racle
  7. LENGTH / LENGTHB
    • 문자열의 길이나 BYTE를 반환한다.
    • LENGTH('디비') → 2 / LENGTHB('디비') → 4
  8. LPAD / RPAD
    • 지정된 문자열의 길이만큼 빈 부분에 문자를 채운다.
    • LPAD('20000', 10, '*') → *****20000

- 문자 치환 함수

  1. TRANSLATE
    • 문자 단위로 치환된 값을 반환한다.
    • TRANSLATE('oracle', 'a', '#') → or#cle
  2. REPLACE
    • 문자열 단위로 치환된 값을 반환한다.
    • REPLACE('oracle', 'or', '##') → ##acle

 

 

실습

1. '강' 씨 성을 가진 학생의 이름을 검색한다.

SELECT sno, sname, SUBSTR(sname,1,1) 성씨
FROM student
WHERE SUBSTR(sname,1,1)='강';

2. 교수의 지위를 한글자로 검색한다.(ex. 조교수 → 조)

SELECT pno, pname, SUBSTR(orders,1,1) 직위
FROM professor;

3. 모든 일반 과목 명칭을 기초 과목으로 변경해서 검색한다. (ex. 일반화학 → 기초화학)

SELECT cno, cname, REPLACE(cname, '일반', '기초')
FROM course;

4. 만일 입력 실수로 student 테이블의 sname 컬럼에 데이터가 입력될 때 문자열 마지막에 공백이 추가 되었다면 검색할 때 이를 제외하고 검색하는 SELECT문을 작성한다.

SELECT sno, sname, TRIM(' ' FROM sname)
FROM student;

5. 직원의 년봉을 10자리로 검색한다. 단 공백은 임의의 채움 문자로 채워 넣는다.

 SELECT eno, ename, sal*12+NVL(comm,0) 연봉, LPAD(sal*12+NVL(comm,0),10,'*') "연봉(10자리)"
FROM emp;

6. 학생의 이름을 검색한다. 단 성이 '심'인 학생은 성을 '사마' 로 바꾸어 검색한다.

SELECT sno, sname, REPLACE(sname, '심', '사마')
FROM student;

 

 

 

 

2024.01.24 - [SQL] - SQL select - 실습1

 

SQL select - 실습1

실습 테이블 테이블 내용 테이블 내용 emp dept salgrade 사원 부서 급여등급 student professor course score scgrade 학생 교수 과목 기말고사점수 점수등급 테이블 상세 구조 emp(사원) dept(부서) salgrade(급여등

backendmaster.tistory.com

<테이블 정보>

'SQL' 카테고리의 다른 글

SQL select - 실습14  (0) 2024.02.01
SQL select - 실습13  (0) 2024.01.31
SQL select - 실습11  (0) 2024.01.31
SQL select - 실습10  (0) 2024.01.31
SQL select - 실습9  (2) 2024.01.30