Oacle 의 decode 사용 설명
decode(조건,값 1,반환 값 1,값 2,반환 값 2,...값 n,반환 값 n,부족 값)
이 함수 의 의 미 는 다음 과 같다.IF 조건=값 1 THEN RETURN(번역 값 1)ELSIF 조건=값 2 THEN RETURN(번역 값 2)...ELSIF 조건=값 n THEN RETURN(번역 값 n)ELSE RETURN(결 성 값)END IF
decode(필드 나 필드 의 연산,값 1,값 2,값 3)
이 함수 가 실 행 된 결 과 는 필드 나 필드 의 연산 값 이 값 1 과 같 을 때 이 함수 가 값 2 를 되 돌려 줍 니 다.그렇지 않 으 면 값 3 을 되 돌려 줍 니 다.물론 값 1,값 2,값 3 도 표현 식 일 수 있 습 니 다.이 함 수 는 일부 sql 문 구 를 간단 하 게 만 들 었 습 니 다.
사용 방법:
1.크기 비교
select decode(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')tetdmis 의 기록 번호
eg:
select decode(dir,1,0,1) from a1_interval
dir 의 값 은 1 에서 0 으로,0 이면 1 로 변 합 니 다.
예 를 들 어 나 는 어떤 반 의 남학생 과 여학생 의 수량 이 각각 얼마 인지 조회 해 야 한다.
보통 우 리 는 이렇게 쓴다.
표 의 성별=남자 에서 count(*)를 선택 하 십시오.select count(*)표 에서 성별=여자;
같이 보 여 주 려 면 유 니 온 도 있어 야 돼 요.너무 귀찮아 요.
decode 로 할 까요?한 마디 만 요.
select decode(성별,남자,1,0),decode(성별,여자,1,0)
3,orderby 문자 열 에 대한 특정한 정렬
Order by 에서 Decode 도 사용 할 수 있 습 니 다.
예:표 tablesubject,subjectname 열.요구:어,수,밖의 순서에 따라 정렬 해 야 합 니 다.이 럴 때 는 Decode 를 쉽게 사용 하여 요 구 를 완성 할 수 있 습 니 다.
select * from table_subject order by decode(subject_name,'국어',1,'수학',2,'외국어',3)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
activemq 5.5 의 입문 은 설치, 시작, 데이터베이스 지속 화 를 포함한다Apache ActiveMQ 5.5.0 은 주로 유지보수 버 전 으로 130 개가 넘 는 문 제 를 복 구 했 으 며 대부분 bug 와 개선 이 었 다. Improved performance for offline d...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.