데이터베이스/Oracle SQL
문자 함수
ddingz
2021. 8. 23. 22:21
문자 함수
문자 함수character functions는 주로 CHAR나 VARCHAR2 데이터 타입을 대상으로 단일 문자나 문자열을 가공한 결과를 반환한다.
문자 함수는 다음과 같이 다양하게 제공되고 있으므로 목적에 맞게 골라서 사용한다.
함수 | 설명 |
---|---|
CHR(k) | 정수 아스키코드를 문자로 반환 |
CONCAT(s1, s2) | 두 문자열을 연결 |
INITCAP(s) | 문자열의 첫 번째 알파벳을 대문자로 변환 |
LOWER(s) | 대상 문자열을 모두 소문자로 변환 |
LPAD(s, n, c) | 대상 문자열의 왼쪽부터 지정한 자릿수까지 지정한 문자로 채움 |
LTRIM(s1, s2) | 대상 문자열의 왼쪽부터 지정한 문자들을 제거 |
REPLACE(s1, s2, s3) | 대상 문자열의 지정한 문자를 원하는 문자로 변경 |
RPAD(s, n, c) | 대상 문자열의 오른쪽부터 지정한 자릿수까지 지정한 문자로 채움 |
RTRIM(s1, s2) | 대상 문자열의 오른쪽부터 지정한 문자들을 제거 |
SUBSTR(s, n, k) | 대상 문자열의 지정된 자리에서부터 지정된 길이만큼 잘라서 반환 |
TRIM(c FROM s) | 대상 문자열의 양쪽에서 지정된 문자를 삭제(문자열만 넣으면 기본값으로 공백 제거) |
UPPER(s) | 대상 문자열을 모두 대문자로 변환 |
ASCII(c) | 대상 알파벳 문자의 아스키코드 값을 반환 |
INSTR(s1, s2, n, k) | 문자열 중 n번째 문자부터 시작하여 찾고자 하는 문자열 s2가 k번째 나타나는 문자열 위치 반환 |
LENGTH(s) | 대상 문자열의 글자 수를 반환 |
연습문제
-- 도서 제목에 '야구'가 포함된 도서를 '농구'로 변경한 후 도서 목록을 보이시오.
SELECT bookid, REPLACE(bookname, '야구', '농구') bookname, publisher, price
FROM Book;
-- '굿스포츠'에서 출판한 도서의 제목과 제목의 글자 수, 바이트 수를 보이시오.
SELECT bookname "제목", LENGTH(bookname) "글자수", LENGTHB(bookname) "바이트수"
FROM Book
WHERE publisher = '굿스포츠';
-- 마당서점의 고객 중에서 같은 성(姓)을 가진 사람이 몇 명이나 되는지 성별 인원수를 구하시오.
SELECT SUBSTR(name, 1, 1) "성", COUNT(*) "인원"
FROM Customer
GROUP BY SUBSTR(name, 1, 1);