BIN_TO_NUM 문의 드립니다. 0 2 1,225

by 소연짱 [2013.11.21 11:46:12]


안녕하세요.

변환 쿼리에 대해 문의 드립니다.

반대로 

SELECT NUM_TO_BIN(7) FROM DUAL;


NUM 값을 BINARY 로 변경이 가능한가요?

by 마농 [2013.11.21 13:13:36]
SELECT LISTAGG(bit) WITHIN GROUP(ORDER BY lv DESC) bin
  FROM (SELECT LEVEL lv
             , SIGN(BITAND(deci, POWER(2, LEVEL - 1))) bit
          FROM (SELECT 7 deci FROM dual)
        CONNECT BY POWER(2, LEVEL - 1) <= deci
        )
;

by 소연짱 [2013.11.21 18:45:28]
답변 감사드립니다 ㅠㅠ

펑션을 써서 해결했습니다.


L_NUM := I_NUM;
         WHILE L_NUM > 1 LOOP
             L_BIT := MOD(L_NUM,2);
             L_BINARY := TO_CHAR(L_BIT)||L_BINARY;
             L_NUM := FLOOR(L_NUM / 2);
        END LOOP;
        
        IF L_NUM = 1 THEN
            L_BINARY := '1'||L_BINARY;
        END IF;
        
        RETURN L_BINARY;
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입