IT개발/정보/DB ( Oracle )

SQL문에 쓰이는 함수 및 연산자들

순탱 2021. 12. 26. 22:21
728x90
반응형
LIST

-- 여러가지 연산자들

 

between 1 and 10 -- 사이 값

sal IN(2, 3) -- 해당 레코드와 일치하는 것 

ename like '_S\%%' escape '\' -- 해당 문자가 포함된 레코드 검색

                                                %를 포함한 문자 검색시에 옵션 설정 가능

 

 

 

-- 숫자 관련 함수들

 

abs(-2) -- 절대값

mod(5,2) -- 나머지

sign(-2) -- 양, 음 판단

ceil(3.26) -- 소수점에서 올림

floor(3.26) -- 소수점에서 버림

round(3.26, 1) -- 해당 소수점에서 반올림

trunc(3.26, 1) -- 해당 소수점에서 버림

 

-- 문자 관련 함수들

upper/lower(ename) -- 대,소문자 변환

initcap(ename) -- 첫 글자만 대문자로 변환

concat(job,ename) -- 두 문자 값 연결

substr(ename, 1, 2) -- 해당 위치부터 지정된 만큼의 문자를 추출. -1위치는 뒤에서 추출

 

length(ename) -- 문자의 길이

ltrim/rtrim('abb ', 'a') -- 해당 방향에서 지정된 문자 제거

lpad/rpad('abb ', 5, 'a') -- 문자가 자리수를 만족하지 못한다면 해당 방향에서 지정된 문자로 채움

trim('S' from ename) -- 양쪽에서 지정된 문자열 제거

 

-- 날짜 관련 함수들

 

add_months(sysdate,2) -- 해당 날짜에 달수를 더함

months_between(sysdate, hiredate) -- 두 날짜의 차이

 

 

 

-- 형 변환 함수들

 

to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS') -- 날짜형을 문자형으로 변환. 일반적인 형태

to_char(123456, 'L000,000,000') -- 숫자형을 문자형으로변환. 1의자리부터 맞추고 \형태로 0을 채움 

                                              0 대신 9로 채우면 알아서 잘라서 채움

to_number('5')-2 -- 문자형을 숫자형으로 변환

to_date(19810220, 'YYYYMMDD') -- 문자형을 날짜형으로 변환

 

 

-- 그 밖의 함수들

 

 

nvl(str, 'a') -- 해당 값이 NULL값이면 해당 지정된 문자 출력

 

-- NULL 값[정해지지 않은 값]을 넣는 세가지 방법

insert into emp(seq, str) values(2,NULL)

insert into emp(seq) values(2)

insert into emp(seq, str) values(2,'')

 

 

 

 

-- 조건 관련 함수

 

DECODE(to_char(hiredate, 'YYYY'),

'1980','과장',   '1981','대리',   '사원')

CASE to_char(hiredate, 'YYYY')

WHEN '1980' THEN '과장'   WHEN '1981' THEN '대리'   ELSE '사원'   END

-- CASE에서는 비교조건을 쓸 수 있음. NULL은 is NULL 형태로 기술

 

-- 그룹 함수

 

max(sal) -- 최소 값

min(sal) -- 최대 값

sum(sal) -- 합계

avg(sal) -- 평균

count(comm) -- NULL값을 제외한 개수

count(*) -- 총 개수

 

 

 

-- HAVING 절[그룹함수는 where절에 쓸 수 없기 때문에 씀(순서에 유의)]

select job, count(*)

from emp

where sal>500 and job !='PRESIDENT'

group by job -- select에 기술한 컬럼들은 반드시 group by절에 기술 되어 있어야 함

HAVING count(*)>2 -- 그룹의 결과를 제한할 때 쓰이며, 그룹함수를 적용한 컬럼이 조건으로 옴

order by job

 
 
728x90
반응형
LIST