[SQL] 2. 함수, 데이터 유형 변환

hhs012·2021년 12월 31일
1

SQL

목록 보기
2/8

1. 문자 함수

-lower(): 영문자 값을 소문자로 변환
-upper(): 영문자 값을 대문자로 변환
-initcap(): 영문자 값의 첫번째 문자를 대문자로 변환, 나머지 문자를 소문자로 두기
-concat(): 문자 연결,||와 같은 기능
-substr(컬럼,위치 m,문자 개수 n): m번째 자리부터 길이가 n개인 문자열을 반환. m이 음수인 경우 문자 값 끝에서 카운트!

substr(ename,1,2); --위치 1에서부터 2개 문자 반환
substr(ename,2); --2번째 문자부터 모두 가져오기
substr(ename,-1); --맨 뒤에서 오른쪽으로 다 가져오기

-length(): 문자의 개수 반환
-instr(컬럼,문자): 문자열에서 문자 위치 찾기

instr('HelloWorld', 'W'); --6

-lpad(컬럼,n,문자): 길이가 n이 되도록 왼쪽부터 문자식으로 채움
-rpad(컬럼,n,문자): 길이가 n이 되도록 오른쪽부터 문자식으로 채움
-trim(): 문자열의 양쪽 공백 제거
-replace(컬럼,찾을문자,변환문자): 특정문자 치환 및 제거

replace(A.NM, 'Steven', 'S.'); --특정문자 치환
replace(A.NM, 'King', ''); --특정문자 제거

2. 숫자 함수

-round(값,자리수): 반올림
-trunc(값,자리수): 절사
-mod(m,n):m을 n으로 나누었을 때 나머지 반환

3. 날짜 작업

-sysdate(): 현재 날짜와 시간 반환

select sysdatd from dual;

-날짜는 연산이 가능하다.
ex) 날짜 + 숫자, 날짜 - 숫자, 날짜 +- 날짜
날짜 타입이면 연산, 조건비교 가능, 글자 타입 날짜는 to_date를 통해 날짜 타입으로 변환

4. 날짜 함수

-months_between(,): 두 날짜 간의 월 수
-add_months(,): 날짜에 월 추가
-next_day(): 지정된 날짜의 다음 날
-last_day(): 월의 마지막 날
이외에도 매우 많다.

5. 데이터 유형 변환

-to_char(숫자 또는 날짜,'형식'): 숫자 또는 날짜를 varchar2문자열로 변환

to_char(date,'yyyy-mm-dd'); --날짜를 yyyy-mm-dd형식으로 변환
to_char(salary,'$99,999.00'); 

*시간 형식: hh24:mi:ss

-to_number(): 문자를 숫자로 변환
-to_date(): 문자를 날짜로 변환

6. 일반 함수

-nvl(값,지정값): null인 경우 지정값 출력(null이 아니면 원래 값 출력)
-nvl2(값,지정값1,지정값2):NULL이 아닌 경우 지정값1을 출력하고, NULL인 경우 지정값2를 출력한다.

NVL2(mgr, 'Y', 'N') --매니저가 있으면 y출력 없으면 n출력

-nullif(표현식1,표현식2):표현식1이 표현식2와 같으면 NULL을, 같지 않으면 표현식1을 리턴한다. 특정 값을 NULL로 변경해야 할 때 유용하게 사용할 수 있다.

0개의 댓글