|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
(A)
DECLARE l_total
NUMBER; l_name
VARCHAR2 (10) := 'PL/SQL';
BEGIN IF
l_name = 'PL/SQL'
OR
l_total > 100 THEN DBMS_OUTPUT.put_line
('Hello
Earth');
ELSE DBMS_OUTPUT.put_line
('Hello
Moon');
END
IF; END;
/
(B)
DECLARE l_total
NUMBER; l_name
VARCHAR2 (10) := 'PL/SQL';
BEGIN IF
l_total > 100 THEN DBMS_OUTPUT.put_line
('Hello
Earth');
ELSE DBMS_OUTPUT.put_line
('Hello
Moon');
END
IF; END;
/
(C)
DECLARE l_total
NUMBER; l_name
VARCHAR2 (10) := 'PL/SQL';
BEGIN IF
l_total > 100 OR
l_total IS
NULL THEN DBMS_OUTPUT.put_line
('Hello
Earth');
ELSE DBMS_OUTPUT.put_line
('Hello
Moon');
END
IF; END;
/
(D)
DECLARE l_total
NUMBER; l_name
VARCHAR2 (10) := 'PL/SQL';
BEGIN IF
NVL (l_total, 200) > 100 THEN DBMS_OUTPUT.put_line
('Hello
Earth');
ELSE DBMS_OUTPUT.put_line
('Hello
Moon');
END
IF; END;
/ |
答案:ACD
A: 未初始化的变量为NULL, IF条件相当于IF TRUE OR NULL, 前面的TRUE会导致OR被忽略,整个结果还是TRUE
B: 未初始化的变量为NULL, IF条件里的表达式被求值为NULL, 代码会走到ELSE里面去。
C: IF 里面用了IS NULL, 结果为TRUE
D: NVL把NULL变成了200, 结果为TRUE
本文通过四个不同的PL/SQL代码示例详细解析了在Oracle数据库中如何正确使用条件判断语句。特别是针对变量未初始化时的情况进行了深入探讨,帮助读者理解NULL值处理及其对逻辑判断的影响。
2万+

被折叠的 条评论
为什么被折叠?



