Oacle 에서 decode 함수 사용 방법

2105 단어 Oacledecode
의미 해석:decode(조건,값 1,반환 값 1,값 2,반환 값 2,...값 n,반환 값 n,부족 값)
이 함수 의 의 미 는 다음 과 같다.
이 함수 가 실 행 된 결 과 는 필드 나 필드 의 연산 값 이 값 1 과 같 을 때 이 함수 가 값 2 를 되 돌려 줍 니 다.그렇지 않 으 면 값 3 을 되 돌려 줍 니 다.물론 값 1,값 2,값 3 도 표현 식 일 수 있 습 니 다.이 함 수 는 일부 sql 문 구 를 간단 하 게 만 들 었 습 니 다.
사용 방법:1.크기 selectdecode(sign(변수 1-변수 2),-1,변수 1,변수 2)from dual;작은 값 sign()함 수 를 취하 면 특정한 값 이 0,양수 또는 음수 에 따라 각각 0,1,-1 을 되 돌려 줍 니 다.예 를 들 어 변수 1=10,변수 2=20 은 sign(변수 1-변수 2)에 따라-1 을 되 돌려 주 고 decode 디 코딩 결 과 는'변수 1'로 작은 값 을 취 하 는 목적 을 달성 합 니 다.
2.이 함 수 는 SQL 구문 에 사 용 됩 니 다.기능 소 개 는 다음 과 같 습 니 다.
Decode 함 수 는 일련의 포 함 된 IF-THEN-ELSE 문장 과 비슷 합 니 다.base_exp 와 compare 1,compare 2 등 을 순서대로 비교 합 니 다.하면,만약,만약...exp 는 i 번 째 compare 항목 과 일치 하면 i 번 째 대응 하 는 value 를 되 돌려 줍 니 다.하면,만약,만약...exp 는 어떠한 compare 값 과 도 일치 하지 않 으 면 default 로 돌아 갑 니 다.모든 compare 값 은 순서대로 값 을 구 합 니 다.일치 하 는 값 을 발견 하면 나머지 compare 값(더 있 으 면)은 더 이상 값 을 구하 지 않 습 니 다.NULL 을 위 한 baseexp 는 NULL compare 값 과 등가 로 여 겨 집 니 다.필요 하 다 면,모든 compare 값 은 첫 번 째 compare 값 과 같은 데이터 형식 으로 변환 되 며,이 데이터 형식 도 값 을 되 돌려 주 는 형식 입 니 다.
Decode 함 수 는 실제 개발 에서 매우 유용 합 니 다.
Lpad 함 수 를 결합 하여 메 인 키 의 값 을 자동 으로 1 을 추가 하고 앞에서 0 select LPAD(decode(count(기록 번호),0,1,max(tonumber(기록 번호)+1),14,'0')기록 번호 from tetdmis

IF = 1 THEN
    RETURN( 1)
ELSIF = 2 THEN
    RETURN( 2)
    ......
ELSIF = n THEN
    RETURN( n)
ELSE
    RETURN( )
END IF
decode( , 1, 2, 3)
dir 의 값 은 1 에서 0 으로,0 이면 1 로 변 합 니 다.
예 를 들 어 나 는 어떤 반 의 남학생 과 여학생 의 수량 이 각각 얼마 인지 조회 해 야 한다.
보통 우 리 는 이렇게 쓴다.
같이 보 여 주 려 면 유 니 온 도 있어 야 돼 요.너무 귀찮아 요.
decode 를 사용 하면 한 마디 만 필요 합 니 다

select decode(dir,1,0,1) from a1_interval
3.orderby 는 문자 열 에 대해 특정한 정렬 을 합 니 다.
Order by 에서 Decode 도 사용 할 수 있 습 니 다.
예:표 tablesubject,subjectname 열.요구:어,수,밖의 순서에 따라 정렬 해 야 합 니 다.이 럴 때 는 Decode 를 쉽게 사용 하여 요 구 를 완성 할 수 있 습 니 다.

select count(*) from where = ;

select count(*) from where = ;

좋은 웹페이지 즐겨찾기