반응형
/********************************************************************************************
-- Title : [8i] 날짜 함수 및 TO_CHAR, TO_DATE, TO_NUMBER 예
-- Reference : OLN
-- Key word : date function to_char to_date to_number
********************************************************************************************/

/****************************************************************************************

-- 날짜 함수

****************************************************************************************/

   - MONTHS_BETWEEN(date1, date2) :

     date1 date2 사이의 월 수를 리턴한. 결과는 음수 또는 양수가 될 수 있다. date1

     date2 보다 이후이면 결과는 양수이고, date1 date2 보다 이전이면 결과는 음수이다.

     결과의 비정수 부분은 월의 부분을 나타낸다.

   - ADD_MONTHS(date, n) :

     월 수 n date 에 더한다. n 은 정수이어야 하며 음수일 수 있다.

   - NEXT_DAY(date, 'char') :

     date 다음의 명시된 요일 ('char') 의 날짜를 찾는다. char는 요일이나 문자 스트링을

     나타내는 숫자가 올 수 있다.

   - LAST_DAY(date) :

     date 를 포함하는 월의 마지막 날짜를 찾는다.

   - ROUND(date[,'fmt']) :

     포맷 모델 fmt 에 명시된 단위에 대해 반올림한 date 를 리턴한다.  fmt 가 생략되면,

     date 를 가장 가까운 날짜로 반올림 된다.

   - TRUNC(date[, 'fmt']) : 포맷 모델 fmt 에 명시된 단위에 대해 절삭한 date 를 리턴한다.

     fmt 가 생략되면, date 는 가장 가까운 날짜로 절삭된다.

 

 

/****************************************************************************************

-- 숫자를 가진 TO_CHAR 함수 포맷 형식

****************************************************************************************/

    형식         의미                                                결과값

  ──────┬────────────────────┬─────┬──────

   9          │9는 숫자의 폭(단위)을 의미                9999999 │30000000

  ──────┼────────────────────┼─────┼──────

   0          숫자 앞에 빈자리가 있는 경우 0으로 표시 │ 09999999 │03000000

  ──────┼────────────────────┼─────┼──────

   $          달러 화폐 기호 표시                     │ $9999999 │$3000000

  ──────┼────────────────────┼─────┼──────  

   L          각국 화폐 기호 표시                     │ L9999999 │\3000000

  ──────┼────────────────────┼─────┼──────

   .(period)  소수점 표시                             │9999999.9 │3000000.0

  ──────┼────────────────────┼─────┼──────

   ,(comma)   천단위 표시                             │9,999,999 │3,000,000

  ──────┴────────────────────┴─────┴──────

  

 

/****************************************************************************************

-- 날짜를 가진 TO_CHAR 함수 포맷 형식

****************************************************************************************/

    형식         의미                                                결과값

  ──────┬────────────────────┬─────┬───────

   YYYY       네자리로 연도를 숫자로 표현                2000       2000

  ──────┼────────────────────┼─────┼───────

   YEAR       연도를 문자로 표시함                       2000 │TWO THOUSAND

  ──────┼────────────────────┼─────┼───────

   MM         월을 두자리 숫자로 표시                      12          12

  ──────┼────────────────────┼─────┼───────

   MON        월을 세자리로 줄여서 문자로 표현             12         DEC

  ──────┼────────────────────┼─────┼───────

   MONTH      월을 문자로 모두 표현                        12    DECEMBER

  ──────┼────────────────────┼─────┼───────

   DY         세자리 영문 요일 이름                      일요일         SUN

  ──────┼────────────────────┼─────┼───────

   DAY        영문 요일 이름                             일요일      SUNDAY

  ──────┼────────────────────┼─────┼───────

   HH         하루중 시간을 표시(HH12와 동일)               HH            12

              │HH24 24시간을 기준                        HH24            24

  ──────┼────────────────────┼─────┼───────

   MI                                                        

  ──────┼────────────────────┼─────┼───────

   SS                                                        

  ──────┼────────────────────┼─────┼───────

   fm         │Day Month 앞에 붙인느 접두어                DD            09

              │fm을 사용하면 가변적인 길이를 표시          fmDD             9

  ──────┼────────────────────┼─────┼───────

   TH         서수를 표시할 때(DDTH, DDth)                DDTH          25TH

  ──────┼────────────────────┼─────┼───────

   SP         날짜가 문자로 표현(DDSP, DdSP, ddsp)        DDSP  │ TWENTY-FIVE

  ──────┼────────────────────┼─────┼───────  

   SPTH/THSP  │SP TH의 결합(DDSPTH)                      SPTH  │TWENTY-FIFTH

  ──────┴────────────────────┴─────┴───────

 

 

/****************************************************************************************

-- 날짜를 가진 TO_CHAR 함수 예

****************************************************************************************/

SQL> SELECT empno, TO_CHAR(hiredate, 'MM/YY') Month_Hired

  2  FROM EMP

  3  WHERE ename = 'BLAKE';

 

     EMPNO MONTH

---------- -----

      7698 05/81

 

SQL> SELECT ename, TO_CHAR(hiredate, 'fmDD Month YYYY') HIREDATE

  2  FROM emp;

 

ENAME      HIREDATE

---------- -----------------

SMITH      17 December 1980

ALLEN      20 February 1981

WARD       22 February 1981

...

 

14 rows selected.   

 

SQL> SELECT ename, TO_CHAR(hiredate, 'fmDdspth "of" Month YYYY fmHH:MI:SS AM') HIREDATE

  2  FROM emp;

 

ENAME      HIREDATE

---------- --------------------------------------------

SMITH      Seventeenth of December 1980 12:00:00 AM

ALLEN      Twentieth of February 1981 12:00:00 AM

WARD       Twenty-Second of February 1981 12:00:00 AM

...

 

14 rows selected.  

 

 

/****************************************************************************************

-- 숫자를 가진 TO_CHAR 함수 사용 예

****************************************************************************************/

SQL> SELECT TO_CHAR(sal, '$99,999') SALARY

  2  FROM emp

  3  WHERE ename = 'SCOTT';

 

SALARY

--------

  $3,000

 

 

/****************************************************************************************

- TO_NUMBER TO_DATE 함수 사용 예

****************************************************************************************/

SQL> SELECT ename, hiredate

  2  FROM   emp

  3  WHERE  hiredate = TO_DATE('February 22, 1981', 'Month dd,  YYYY');

 

ENAME      HIREDATE

---------- --------

WARD       22-FEB-81


반응형

+ Recent posts