-
[ SQL ] 오라클 내장함수 1. 단일행함수의 문자함수PROGRAMMING/SQL 2022. 4. 25. 23:41
하루입니다.
오라클 내장함수란?
SQR 작성에 유용한 기능을 제공하는 함수. DBMS 제품마다 조금씩 차이가 있다.
오라클 내장함수의 종류
- 단일행함수
각각의 행마다 실행된다. 중첩 사용이 가능하다. select 단일행함수(단일행함수(단일행함수(컬럼명))) 이런 식으로.
문자함수, 숫자함수, 날짜함수, 변환함수, 기타함수가 있다.
- 다중행함수 (그룹함수)
여러 행을 그룹으로 묶고 그룹당 하나의 결과를 반환한다. 중첩은 최대 2개 가능하다. 합계, 평균, 표준편차 등을 구할 때 주로 사용한다.
오늘은 단일행함수 - 문자함수를 했다. 나머지는 내일 할 거.
문자함수
- 대/소문자 변환 함수
- lower (컬럼명 혹은 표현식), upper(컬럼명 혹은 표현식)
select first_name, lower(first_name), upper(first_name) from employees where department_id = 60;- 문자길이 반환 함수
- LENGTH (컬럼명 혹은 표현식)
select first_name, length(first_name) from employees where department_id = 60;- 부분문자열 반환 함수
- SUBSTR (컬럼형 혹은 표현식, 시작위치, 길이), 시작위치는 1부터 시작한다.
2번째 ~ 3번째글자가 아닌, 2번째부터 3글자를 반환하는 것이다. - 자바와 다르게 시작이 1부터다.
select first_name, substr(first_name, 2, 3) from employees where department_id = 60;
- 문자 위치 반환 함수
- 'a(찾을문자)' 가 언제 등장하나 알려 준다.
- INSTR(컬럼명 혹은 표현식, '찾을문자'), 문자가 없으면 0을 반환한다.
- 값이니까 대소문자 구분할 것!
select first_name, instr(first_name, 'a') from employees where department_id = 60;
- 상품명에서 공백 전 첫 단어만 들고 오기 (쪼금 억지)
- SUBSTR을 사용해서 PRODUCT_NAME의 1번째부터 들고 올 건데 INSTR로 찾은 공백' ' - 1까지만 들고 올 것.
select product_name, substr(product_name, 1, instr(product_name, ' ') - 1) from sample_products;- 문자 길이가 지정된 길이보다 짧을 때 지정된 길이가 될 때까지 문자의 좌 / 우에 글자 추가하기
- LPAD(컬럼 혹은 표현식, 길이, '패딩문자'), RPAD(컬럼명 혹은 표현식, 길이, '패딩문자')
select first_name, lpad(first_name, 10, '#'), rpad(first_name, 10, '#') from employees where department_id = 60;
결과물 그래서 얘를 어디에 쓰나요.
1. 상품 번호 등을 001, 002 ... 이렇게 하고 싶을 때.
2. 달력 만들기! LEVEL이란 걸 사용하자.
select lpad(level, 2, '0') from dual connect by level <= 12;
달력이다! + DUAL이라는 건 1행 1열짜리 테이블이라고 한다. 결과를 한번만 출력하게 한다.
잘못된 정보에 대한 지적은 언제나 환영입니다.
복습 끝!
'PROGRAMMING > SQL' 카테고리의 다른 글
[ SQL ] 정규화와 JOIN (등가조인) (0) 2022.04.27 [ SQL ] 오라클 내장함수 2. 단일행함수의 숫자함수, 날짜함수 (0) 2022.04.27 [ SQL ] DML 요약 및 연습. 작성 시 주의 사항. (0) 2022.04.25 6. 자바와 SQL의 힘을 합쳐 필드 생성, 레코드 한 개 조회하기 (0) 2022.04.24 5. JDBC가 뭐고 어떻게 사용하나요? (0) 2022.04.22