CREATE OR REPLACE FUNCTION FN_ENCODING
(
V_PW IN CHAR
)
RETURN VARCHAR2
IS
TYPE RejRecTypeNum IS TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
X_1 RejRecTypeNum;
X_2 RejRecTypeNum;
X_3 RejRecTypeNum;
LI_LEN BINARY_INTEGER;
LS_RTN_VAL VARCHAR2(20);
BEGIN
LS_RTN_VAL := '';
X_3(1) := 9;
X_3(2) := 5;
X_3(3) := 1;
X_3(4) := 0;
X_3(5) := 9;
X_3(6) := 5;
X_3(7) := 3;
X_3(8) := 8;
X_3(9) := 7;
X_3(10) := 1;
LI_LEN := LENGTH( V_PW );
FOR I IN 1..LI_LEN LOOP
X_1(I) := ASCII(SUBSTR(V_PW,I,1));
X_2(I) := ASCII(SUBSTR(V_PW,I,1));
IF I = 1 OR I = LI_LEN THEN
X_2(I) := X_2(I) + 1;
ELSE
X_2(I) := X_2(I) - X_3(I);
END IF;
LS_RTN_VAL := LS_RTN_VAL || CHR(X_2(I));
END LOOP;
RETURN (LS_RTN_VAL);
EXCEPTION
WHEN OTHERS THEN
RETURN('');
END FN_ENCODING;
---------------------------------------------------
오라클에서 사용하는 인코딩/디코딩 펑션입니다.
이를 MS SQL Server 2005에서 사용할려고 합니다.
어떻게 바꾸어야 하나요? |