DB/Oracle

SQL 쿼리문 2

linuxism 2011. 8. 16. 17:02

-- 질의 탐색을 위해 사용될 둘이상의 표현식을 지정
select prod_name 상품, prod_sale 판매가
from prod
where prod_sale in (150000, 170000, 330000);

 

--범위내의 모든 값을 탐색
select prod_name 상품, prod_sale 판매가
from prod
where prod_sale between 100000 and 300000;

 

-- 두 문자열을 연결하여 반환
select concat('My Name is', mem_name) from member;

 

-- 대소문자 구분 lower(소문자), upper(대문자), initcap(첫글자만대문자)
select lower('DATA manipulation Language') "lower",
upper('DATA manipulation Language') "upper",
initcap('DATA manipulation Language') "initcap"
from dual;

 

-- 문자나 문자열을 치환(변경), 세번째형이 없을경우 문자제거
select replace('SQL Project', 'SQL', 'SSQQLL') 문자치환1,
replace('Jaca Flex Via', 'a') 문자제거
from dual;

 

select instr('hello heidi','he') result from dual;

 

-- 반올림round함수와 절삭하는 trunc함수
select round(345.123,-1) 결과1, trunc(345.123,-1) 결과2 from dual;

 

-- n으로 나눈 나머지 mod함수
select mod(10,3) from dual;

 

-- n과 같거나 작은 수 중에 가장 큰 정수 floor함수, n과 같거나 큰수중에 가장 작은 정수 ceil함수
select floor(1332.69), ceil(1332.69) from dual;

 

--시스템에서 제공하는 현재 날짜와 시간 값 sysdate
select sysdate 현재시간, sysdate-1 어제시간 from dual;

 

-- 날짜에서 필요한 부분만 추출 extract 함수
select extract(year from sysdate) 년도, extract(month from sysdate) 월, extract(day from sysdate) 일
from dual;

 

-- 문자열로 변환 to_char
select to_char(sysdate, 'yyyy-mm-dd') from dual;

 

-- if문과 같은 기능 decode함수
select decode(9, 10, 'a', 9, 'b', 8, 'c','d') from dual;

select case when '나' ='나' then '맞다'
            else '아니다' end from dual;

출처 - http://blog.naver.com/mongs0516/10045339321 

[출처] 오라클 쿼리문 정리|작성자 몽이