Oracle 13 LEAST(), GREATEST(), DECODE(), DUMP(), SYS_CONTEXT()

2023. 10. 10. 11:11database

LEAST - 최솟값을 반환하는 함수

GREATEST - 최댓값을 반환한다

코드분석 - LEAST, GREATEST 모두 (1, NULL)에서 'null'을 반환한다

 

각 행에서 최솟값, 최댓값 출력하기

LEAST(속성1, 속성2, 속성3)

GREATEST(속성1, 속성2, 속성3)

switch ~ case와 유사하다

DECODE(1, 1, 'A', 2, 'B', 'C') -> 맨 앞의 요소가 1이면 'A', 맨 앞의 요소가  2이면 'B', 1이나 2가 아니면 'C' 출력한다

DUMP('문자열', 16) -> '문자열'을 16진수로 출력한다

DUMP(문자열, 1016, 2, 2)

1000 + 16 -> CharacterSet이 출력된다

2,2 - start지점, length 길이를  

 

테이블 만들기

실습 - DECODE 함수를 이용해서 category 속성마다 다른 가격이 적용되게 한다

category가 'Electronics'이면 10% 할인 적용해서 price가 (price * 0.9)로 변경된다.

같은 방법으로 category가 'Clothing'이면 20% 할인 적용해서 price가 (price * 0.8)로 변경된다.

category가 'Home'이면 15% 할인 적용해서 price가 (price * 0.85)로 변경된다.

 

CATEGORY, PRICE가 조금 다르지만 결과는 같다

(왼쪽) 내 코드  //   (오른쪽) 다른 사람 코드

 

 

 SYS_CONTEXT - namespace 에 속한 parameter 값을 반환한다

실습 결과