--
desc sys.dual
-- 절대값
select abs(-78), abs(78) from dual;
-- 반올림(소수점)
select round(4.875,1) from dual;
-- 반올림(소수점이상)
select custid "고객번호", round(sum(saleprice)/count(*), -2) "평균 금액"
from orders
group by custid
order by custid;
--이름 교체
select bookid, replace(bookname, '야구', '농구') bookname, publisher, price
from book;
select bookid,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);
-- date
select orderid "주문번호", orderdate "주문일", orderdate+10 "확정"
from orders;
--마당서점이 2014년 7월 7일에 주문받은 ~
select orderid "주문번호", to_char(orderdate, 'yyyy-mm-dd dy') "주문일",
custid "고객번호", bookid "도서번호"
from orders
where orderdate=to_DATE('20140707','yyyymmdd');
--DBMS 서버에 설정된 현재 날짜와 시간, 요일을 확인하시오.
SELECT SYSDATE, TO_CHAR(SYSDATE, 'YYYY/MM/DD DY HH24:MI:SS') "SYSDATE_1"
FROM DUAL;
--
SELECT ABS(-15) FROM DUAL; -- 15 (절대값)
SELECT CEIL(15.7) FROM DUAL; -- 16 (올림)
SELECT CEIL(15.2) FROM DUAL; -- 16 (올림)
SELECT COS(3.14159) FROM DUAL; -- -1 (코사인)
SELECT FLOOR(15.7) FROM DUAL; -- 15 (내림)
SELECT LOG(10,100) FROM DUAL; -- 2 (로그)
SELECT MOD(11,4) FROM DUAL; -- 3 (나머지)
SELECT POWER(3,2) FROM DUAL; -- 9 (제곱, 승)
SELECT SIGN(-15) FROM DUAL; -- -1 (1은 양수, -1은 음수, 0은 0)
SELECT TRUNC(15.7252,3) FROM DUAL; -- 15.725 (자릿수 자르기)
SELECT TRUNC(15.7252,0) FROM DUAL; -- 15 (자릿수 자르기)
SELECT TRUNC(15.7252,-1) FROM DUAL; -- 10 (자릿수 자르기)
SELECT CHR(67) FROM DUAL; -- C (아스키코드값 반환)
SELECT ASCII('C') FROM DUAL; -- 67 (아스키코드값 반환)
SELECT CONCAT('HAPPY','BIRTHDAY') FROM DUAL; -- 글자 합치기
SELECT LOWER('BIRTHDAY') FROM DUAL; -- birthday(소문자로 바꾸기)
SELECT UPPER('birthday') FROM DUAL; -- BIRTHDAY(대문자로 바꾸기)
SELECT LPAD('PAGE 1',15,'*') FROM DUAL; -- *********PAGE 1 (앞의 빈 공간 채우기)
SELECT LPAD('PAGE 1',15,'*.') FROM DUAL; -- *.*.*.*.*PAGE 1 (앞의 빈 공간 채우기)
SELECT RPAD('PAGE 1', 15,'*.') FROM DUAL; -- PAGE 1*.*.*.*.* (뒤의 빈 공간 채우기)
SELECT LTRIM('PAGE 1','P') FROM DUAL; -- AGE 1 (왼쪽부터 선택한 글자 없애기)
SELECT LTRIM('PAGE 1','PAG') FROM DUAL; -- E 1
SELECT LTRIM('PAGE 1','AG') FROM DUAL; -- PAGE 1 (중간부터는 안됨)
SELECT RTRIM('PAGE 1','P') FROM DUAL; -- PAGE 1 (오른쪽부터 선택한 글자 없애기)
SELECT RTRIM('PAGE 1','1') FROM DUAL; -- PAGE
SELECT RTRIM('PAGE 1','GE 1') FROM DUAL; -- PA
SELECT TRIM(LEADING 0 FROM '00AA00') FROM DUAL; -- AA00 (앞부터 없애기)
SELECT TRIM(TRAILING 0 FROM '00AA00') FROM DUAL; -- 00AA (뒤부터 없애기)
SELECT TRIM(BOTH 0 FROM '00AA00') FROM DUAL; -- AA (양쪽 없애기)
SELECT TRIM(0 FROM '00AA00') FROM DUAL; -- AA (양쪽 없애기)
SELECT REPLACE('JACK','J','BL') FROM DUAL; -- BLACK (J를 BL로 교체)
SELECT SUBSTR('ABCDEFG',3,4) FROM DUAL; -- CDEF (3번째부터 4글자 출력)
SELECT INSTR('CORPORATE FLOOR','OR',3,2) FROM DUAL; -- 14 (3번째부터 시작해서 OR가 2번째 나오는 위치)
SELECT LENGTH('BIRTHDAY') FROM DUAL; -- 8 (글자 길이)
SELECT LENGTHB('BIRTHDAY') FROM DUAL; -- 8 (바이트 길이)
SELECT (-15) FROM DUAL; --
SELECT ABS(-15) FROM DUAL; --
SELECT ABS(-15) FROM DUAL; --
'SQL' 카테고리의 다른 글
IN / NOT IN (0) | 2018.03.15 |
---|---|
부속질의 Subquery (0) | 2018.03.15 |
TRANSACTION (0) | 2018.03.08 |
INDEX (0) | 2018.03.08 |
View (0) | 2018.03.08 |
댓글