我在Oracle SQL中有一个函数,它对给定的输入进行了加扰。我需要解读它。解读sql中的字符串代码
我需要一个程序,它可以基本上颠倒下面的程序的输出。
source IN VARCHAR2
sGARBLED VARCHAR2(510);
index NUMBER;
length NUMBER;
onec NUMBER;
BEGIN
length := LENGTH(source);
IF length > 255 THEN
length := 255;
END IF;
index := 1;
sGARBLED := '';
WHILE index <= length LOOP
onec := ASCII(SUBSTR(source, index, 1)) - 30;
IF (onec < 10) THEN
sGARBLED := sGARBLED || '0';
END IF;
sGARBLED := sGARBLED || CAST(onec AS VARCHAR2);
index := index + 1;
END LOOP;
RETURN sGARBLED;
END
这可能是不可能的。它从你的IF(onec <10)出现,你试图确保每个输入字符创建两个输出字符。但是,输入文本可能包含ASCII值大于130的字符,这意味着它们会在输出字符串中添加三个字符。 如果没有保证每个输入字符都映射到两个输出字符,那么就没有确定性的方法来解读它。 –