SUBSTR()函数详解
2024-09-22 18:28:25 216人阅读
这个代码块执行之后屏幕上会显示什么?
BEGIN
DBMS_OUTPUT.put_line (‘-3,2=‘||SUBSTR (‘abdefg‘, -3, 2));
DBMS_OUTPUT.put_line (‘-7,2=‘||SUBSTR (‘abdefg‘, -7, 2));
END;
/
(A)
未处理的异常:
ORA-01426: numeric overflow
(B)
-3,2= -7,2=
(C)
-3,2=ef -7,2=
(D)
-3,2=ed -7,2=
(E)
-3,2=ef
-7,2=ab
答案:C
解答:
1.DBMS_OUTPUT.put_line (‘-3,2=‘||SUBSTR (‘abdefg‘, -3, 2)); SUBSTR (‘abdefg‘, -3, 2)的第二个参数为-3,即从倒数第三位开始查找,第三个参数为2,即截取两位字符。故结果为ef 2.DBMS_OUTPUT.put_line (‘-7,2=‘||SUBSTR (‘abdefg‘, -7, 2)); SUBSTR (‘abdefg‘, -7, 2)的第二个参数为-7,超出要查找字符串的长度则返回null,不论第三个参数要截取多少位。 对于第二条语句的回答在实际验证后参考了2楼的回答。官方文档上竟然对这种超出查找长度的情况进行解释。 另外补充一点: SUBSTR (‘abdefg‘, -7, 2),SUBSTR (‘abdefg‘, 7, 2) substr()函数的第二个参数的值不论正负,只要超出所要查询字符串的长度,结果皆为null。 SUBSTR (‘abdefg‘, 5, -1) substr()函数的第三个参数为负数,结果也为null。 |
|
|
SUBSTR()函数详解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉:
投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。