• 함수
    • NVL(exp1, exp2)
      • exp1이 NULL이면 exp2 리턴, exp1이 NULL이 아니면 exp1 리턴
      • exp1과 exp2는 반드시 같은 타입
    • NVL2(exp1, exp2, exp3)
      • exp1이 NULL이면 exp2 리턴, exp1이 NULL이 아니면 exp3 리턴
      • exp2와 exp3는 반드시 같은 타입
    • NULLIF(exp1, exp2)
      • exp1과 exp2가 동일하면 널 값을 리턴, 아니면 exp1 리턴
    • SYSDATE
      • 시스템의 현재 날짜와 시간을 리턴
      • CHECK 제약의 조건으로 사용할 수 없다
    • SUBSTR(str, 위치, 문자수)
      • str의 위치에서 문자수만큼 문자열 추출
      • SQL> SELECT SUBSTR('PARKJUNHYUN', 2, 3) FROM DUAL;
        ARK
    • TO_DATE(문자형 데이터, [날짜형 변환형식])
      • 날짜형 데이터 리턴
      • 기본 형식은 'YY/MM/DD'
      • 날짜형 변환형식
        • 형식요소의 구분은 -, /, ., ;, :, "text" 가능
        • 날짜형 변환형식
          •  구분

            형식요소

            내용

            범위 

             날짜

             YY, RR

             연도(숫자 2자리 표기) 예: 11
             YYYY, RRRR 연도(숫자 4자리 표기) 예: 2011
             YEAR 연도(문자 표기)

             예: TWENTY ELEVEN

             MM 월(숫자) 1~12
             MON 3문자 단축형 월

             JAN~DEC 혹은 '월'

             MONTH 월(문자)

             JANUARY~DECEMBER

             DD 일(숫자)

             1~31(달에 따라)

             DAY 요일

             일요일~토요일

             D 그 주의 몇 번째 날 1~7
             DDD 그 해의 몇 번째 날 1~366(해에 따라)

             시간

             HH, HH12

             시각

             1~12
             HH24 시각 0~23
             MI 분 0~59
             SS 초 0~59
             SSSS

             자정이후 초 단위 시간

             0~86399

             AM, A.M., PM, P.M.

              

             기타

             CC 세기 예: 20
             Q 4분기 1~4
             W 그 달의 주 1~5
             WW 그 해의 주 1~52

          • http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements004.htm#g195443
          • YY/YYYY, RR/RRRR은 Y2K와 관련있는 연도의 형식요소로 아래와 같이 날짜형으로 변환할 문자형 데이터 범위에 따라 세기를 변환한다
            •  문자형 데이터 범위

              YY

              RR

              0~49

              현재 세기

              현재 세기

              50~99

              현재 세기

              이전 세기

            • 아래와 같이 문자형 데이터를 TO_DATE() 함수에 변환형식('YYMMDD', 'RRMMDD')을 적용하여 날짜형 데이터로 변환하고, 이 날짜형 데이터를 출력형식('YYYY-MM-DD', 'RRRR-MM-DD')를 적용하면 서로 결과가 다르게 나타나는 것을 알 수 있다. 
              •  문자형 데이터

                변환형식 

                날짜형 데이터 

                출력형식 

                 출력결과

                 '970505'

                'YYMMDD' 

                97/05/05 

                'YYYY-MM-DD'

                2097-05-05 

                 'RRMMDD'

                97/05/05 

                'RRRR-MM-DD'

                1997-05-05

                 '110215'

                 'YYMMDD'

                11/02/15 

                'YYYY-MM-DD' 

                 2011-02-15

                 'RRMMDD'

                11/02/15 

                'RRRR-MM-DD'

                 2011-02-15


    • TO_CHAR(날짜형 데이터, [날짜형 변환형식])
      • VARCHAR2 리턴
      • 형식요소의 구분은 -, /, :, 공백 가능
      • 날짜형 변환형식
        • TO_DATE() 참조
        • Format Model Modifiers
          • FM(Fill Mode)
            • 변환 결과 앞뒤로 0 또는 공백 제거
          • FX(Format eXact)
            • 입력되는 문자형 데이터와 변환형식이 정확히 일치하지 않으면 에러
    • TO_CHAR(숫자형 데이터, [숫자형 변환형식])
      • 숫자형 변환형식
        • 형식요소 

          내용 

          예 

          자릿수 지정 

                 '9999' 

          0으로 채움 

                 '0999' 

          소숫점 추가 

               '999.99' 

          천단위마다 컴마(,) 추가 

              '9999,99' 

          화폐단위 표시 

          '$99,999.99' 

          국가별 화폐단위 표시 

          'L99,999.99'

          EEEE 

          지수형태로 표시 

          '9.99EEEE'

          S

          부포표시 

           'S9999.99' 

          공백으로 채움 

           

    • TO_NUMBER(문자형 데이터, 숫자형 변환형식)
      • 숫자형 데이터 리턴
      • 숫자형 변환형식
        • TO_CHAR() 참조


+ Recent posts