행위

"오라클 데이터 유형 체크"의 두 판 사이의 차이

DB CAFE

(새 문서: * 12c 추가된 기능 = 데이터 유형 Vailidation 체크 * 체크 유형 - binary_double - binary_float - date - interval day to second - interval year to month -...)
 
 
(같은 사용자의 중간 판 하나는 보이지 않습니다)
1번째 줄: 1번째 줄:
 
* 12c 추가된 기능  
 
* 12c 추가된 기능  
  
= 데이터 유형 Vailidation 체크  
+
= 데이터 유형 Vailidation 체크 =
 +
== validate_conversion 함수 ==
 
* 체크 유형  
 
* 체크 유형  
 
   - binary_double
 
   - binary_double
27번째 줄: 28번째 줄:
  
 
  </source >
 
  </source >
 +
 +
== cast 함수 ==
 +
* 12c 개선
 +
 +
<source lang=sql>
 +
select cast (
 +
        'not a date' as date
 +
        default date'0001-01-01' on conversion error
 +
      ) dt
 +
from  dual;
 +
 +
-- NLS  에러시
 +
select cast (
 +
        '01012010' as date
 +
        default '01010001' on conversion error,
 +
        'ddmmyyyy'
 +
      ) dt
 +
from  dual;
 +
 +
 +
</source >
 +
[[Category:oracle]]

2019년 12월 22일 (일) 15:19 기준 최신판

thumb_up 추천메뉴 바로가기


  • 12c 추가된 기능

1 데이터 유형 Vailidation 체크[편집]

1.1 validate_conversion 함수[편집]

  • 체크 유형
 - binary_double
 - binary_float
 - date
 - interval day to second
 - interval year to month
 - number
 - timestamp
 - timestamp with time zone


with tb_a as(
          select 1 , '01/01/2016' is_this_a_date from dual
union all select 2 , 'abc'  from dual 
union all select 3 , '20150101'  from dual
union all select 3 , '01-jan-2016'  from dual
)

select t.*
  from tb_a t
 where validate_conversion(is_this_a_date as date) = 1;

1.2 cast 함수[편집]

  • 12c 개선
select cast (
         'not a date' as date
         default date'0001-01-01' on conversion error
       ) dt
from   dual;

-- NLS  에러시 
select cast (
         '01012010' as date
         default '01010001' on conversion error,
         'ddmmyyyy'
       ) dt
from   dual;