대소문자 변환 함수 (UPPER, LOWER, INITCAP)
upper: 대문자로 출력하는 함수
lower : 소문자로 출력하는 함수
initcap: 첫번째 철자는 대문자로 출력하고 나머지는 다 소문자로 출력하는 함수
select upper(ename), lower(ename), initcap(ename)
from emp;
문자에서 특정 철자를 추출하는 함수(SUBSTR)
예 : SUBSTR( 컬럼명 , 2 , 5 ) --> 컬럼명에 들어있는 값의 2번째 자리 기준으로 5개의 문자를 추출하여 반환.
만약 'BIG DATA'라는 값이 들어있었다면 --> 'IG DA' 를 반환
substr를 활용한 검색
예제 : 성씨가 이씨, 유씨, 김씨 인 학생들의 이름을 출력하시오!
select ename
from emp12
where substr(ename, 1, 1) in ('이', '김', '유');
문자열의 길이를 출력하는 함수 ( LENGTH )
예 : length(컬럼명) --> 컬럼명 안의 값인 문자열의 길이를 반환
만약 scott 이 들어있었다면 5를 반환한다.
예제 : 이름과 이메일과 이메일의 길이를 출력하는데 이메일의 길이가 가장 긴 것부터 출력하시오
select ename,email,length(email)
from emp12
order by length(email) desc;
문자에서 특정 철자의 위치 출력하기(INSTR)
특정 철자의 자릿수를 출력하는 함수
instr( 컬럼명, 특정 철자)
예 : instr('smith', 't') --> 4를 반환 ** 이 경우는 예시를 위해 컬럼명이 아니라 직접 값을 준 경우이다.
예제 : 우리반 테이블에서 이메일을 출력하고 그 옆에 이메일에서 @가 몇 번째 자리에 있는지 출력하시오
select email,instr(email,'@')
from emp12;
특정 철자를 다른 철자로 변경하기(REPLACE)
특정 철자를 다른 철자로 변경하는 함수
replace( 컬럼명, 특정 철자, 바꿀 철자 )
replace('smith', 'm', 'k') --> skith를 반환 ** 이 때 실제 데이터 테이블 값이 바뀌는 것은 아니다. (출력만)
예제 : 사원들의 이름과 월급을 출력하는데, 0을 *로 출력하기
select ename, replace(sal, 0, '*')
from emp;
특정 철자를 N개 만큼 채우기(LPAD, RPAD)
항상 고정된 자릿수를 보장하기 위해서 필요한 함수
lpad( 컬럼명, 전체 자릿수, 채워넣을값 )
rpad( 컬럼명, 전체 자릿수, 채워넣을값 )
select sal, lpad(sal, 10, '*'), rpad(sal, 10, '*')
from emp;
공백 잘라내기(TRIM, RTRIM, LTRIM)
공백을 잘라낼때 많이 사용하는 함수.
공백 때문에 데이터 검색이 안되는 경우가 종종 있기 때문에 trim 함수를 자주 사용한다.
ltrim : 왼쪽에 있는 공백을 잘라버리겠다.
rtrim : 오른쪽에 있는 공백을 잘라버리겠다
trim : 양쪽에 있는 공백을 잘라버리겠다.
'나 취준생 > SQL' 카테고리의 다른 글
SQL - 단일 변환 함수 (0) | 2020.11.04 |
---|---|
SQL - 단일 함수 2 (0) | 2020.11.03 |
SQL - 논리 연산자 (0) | 2020.11.03 |
SQL - 비교 연산자 (0) | 2020.11.03 |
SQL - ORDER BY, WHERE 절 (0) | 2020.11.03 |