Oacle 의 암시 적 데이터 형식 변환

다른 관계 형 데이터 베이스 와 마찬가지 로 Oacle 에서 도 암시 적 인 데이터 변환 을 할 수 있 습 니 다. 이것 은 우리 가 SQL 문 구 를 쓰 는 데 매우 유용 합 니 다. 우 리 는 귀 찮 게 여러 유형의 문 자 를 수 동 으로 바 꿀 필요 가 없습니다.앞에서 저희 가 사용 을 소 개 했 지만 예 를 들 면 tochar,to_date 의 함 수 를 강제 변환 하 는 방법 이지 만 암시 적 변환 도 좋 습 니 다.
Oracle 은 문자열 에서 수치 로 전환 하 는 등 변수 유형 간 의 전환 을 암시 적 으로 진행 할 수 있 습 니 다. 아래 의 예 를 보 세 요.
SQL> select ename,sal from emp where sal = ‘1100′;
 
ENAME SAL
——————– ———-
SMITH 1100
ADAMS 1100

여기 서 직원 들 의 월급 을 선택 했다. 우 리 는 직원 들 의 월급 이 수치 형 이라는 것 을 알 면서 도 일부러 그 를 문자열 형 으로 썼 다.결국 Oacle 은 여전히 정확 한 결 과 를 얻 었 다.이 는 Oacle 이 문자열 에서 수치 로 직접 전환 하 는 암시 적 인 변 화 를 진행 했다 는 것 을 의미한다.
예 를 들 면 아래 의 예.
SQL> Select last_day(’26-4  -08′) from dual;
 
LAST_DAY(’
———-
30-4  -08

여기 우리 lastday 함 수 는 원래 날짜 형식의 인 자 를 제공 해 야 하 는데, 우 리 는 일부러 문자열 형식의 인 자 를 제공 합 니 다.그러나 Oacle 은 여전히 우리 에 게 정확 한 결 과 를 되 돌려 주 었 다. 이것 은 Oacle 내부 에서 문자열 에서 날짜 형식 으로 암시 적 으로 전환 되 었 음 을 나타 낸다.설명 이 필요 한 것 은 이 예 가 기계 에서 성공 적 으로 실행 되 지 않 았 다 면 기본 날짜 형식 과 여기 가 다 를 수 있 습 니 다. 날짜 형식 을 모 르 면 사용 할 수 있 습 니 다.
select sysdate from dual

 이 SQL 문 구 는 기계 가 도대체 어떤 날짜 형식 인지 되 돌려 줍 니 다.보통 이거 랑 NLSlang 매개 변수의 값 관련
이 두 가지 예 는 Oacle 내부 에서 확실히 어떤 암시 적 함수 변환 을 할 수 있다 는 것 을 설명 한다.다음은 Oacle 에서 암시 적 으로 전환 하 는 일반적인 상황 입 니 다.
... 에서
도착 하 다
Varchar2 or Char
Number
Varchar2 or Char
Date
Number
Varchar2
Date
Varchar2
 
주의해 야 할 것 은 Varchar 2, char 에서 date 로 의 암시 적 전환 과정 에서 그 형식 이 이 컴퓨터 의 기본 시간 형식 임 을 보증 해 야 한 다 는 것 이다.
암시 적 전환 을 제외 하고 Oacle 은 더욱 유연 한 데이터 형식의 디 스 플레이 전환 을 제공 하 는데 이런 전환 방식 은 더욱 유연 하 다.
본문http://www.cnblogs.com/lzhdim/archive/2008/12/24/1361392.html

좋은 웹페이지 즐겨찾기