_대문 | 방명록 | 최근글 | 홈피소개 | 주인놈
FrontPage › 각로우값사칙연산

오.. 간만에 커뮤니티에 좋은 자료가 올라왔다.
원문은.. http://www.sqler.com/264055#11

**************************************************************************************
개념1: A = EXP(LOG(A)) 지수와 로그의 관계
개념2: LOG(A*B) = LOG(A) + LOG(B) :  http://duchii.tistory.com/31 
개념3: LOG(A/B) = LOG(A) - LOG(B) 
기준값구분: (CASE WHEN 첫번째값 THEN 1 ELSE -1 END)       
**************************************************************************************

덧셈: SUM()
뺄셈: 처음값(기준값) 이외의값은- 임으로CASE 문을이용첫번째값이외는-1 을곱한다. 순서값이 중요.
곱셉: 개념1와개념2를적용. 각행의컬럼값을LOG 로해서합을낸다음EXP 로묶어주면곱이된다.
나눗셈:개념1과개념3을적용. 뺄셈의원리기준값이외는- 처리   순서값이 중요.   

**************************************************************************************            

어째 설명이 더 복잡하네요...


WITH TEST
as (
select 1 idx,  600  VAL    union all
select 2 idx,  30      union all  
select 3 idx,  2      
)
SELECT  -- 600 + 30 + 2 
        SUM( VAL) PLUPOINT ,     
        -- 600 - 30 - 2
        SUM((CASE WHEN IDX = 1 THEN 1 ELSE -1 END  ) * ( VAL )) SUBPOINT ,
        -- 600 * 30 * 2
        EXP(SUM(LOG(VAL))) MULPOINT ,
        -- 600 / 30 / 2
        EXP(SUM((CASE WHEN IDX = 1 THEN 1 ELSE -1 END  ) * LOG(( VAL) ))) DIVPOINT  
  FROM TEST 

select 
	exp(log(10) + log(5)) [10 * 5]
,	exp(log(10) - log(5)) [10 / 5]

댓글 남기기..
이름: : 오른쪽의 새로고침을 클릭해 주세요. 새로고침
EditText : Print : Mobile : FindPage : DeletePage : LikePages : Powered by MoniWiki : Last modified 2018-04-13 23:12:53

삶을 깊이 이해하면 할수록 죽음에 대한 슬픔은 그만큼 줄어든다. (톨스토이)