我对这个任务有一些逻辑思考的麻烦。 因此,任务要求返回字母列表中第一个较大的字母的位置。 例如:打印字符列表中较大的字母的位置
ABVD -> 3
BCDG -> 4
CFDE -> 2
这个任务建议使用lenght,ASCII,并命名为块,功能
原来这就是我到目前为止做:
declare
x varchar2(10) :='ABFD';
BEGIN
FOR i in 1..length(x) LOOP
dbms_output.put_line(ASCII(SUBSTR(x, i, 1)));
END LOOP;
END;
我的想法是,以将字母转换为数字:65,66,70,68。该模式是x + 1,并且由于数字70不等于66 + 1,所以程序将返回该数字的位置,即3. 不幸的是,我不知道如何将这个想法变成代码。你能给我一些提示/建议吗?谢谢!
为什么转换为数字?是的,70> 65,但'F'>'A'也是。 –
感谢您的回复!我不知道我们实际上可以做到这一点。 – Chopsticks