PL SQL每日一題 含有NULL的IF條件

2021-06-18 02:30:04 字數 3906 閱讀 8755

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'orl_total > 100

then

dbms_output.put_line ('hello earth');

else

dbms_output.put_line ('hello moon');

endif;

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');

endif;

end;

/

(c)

declare

l_total   number;

l_name    varchar2 (10) :='pl/sql';

begin

if l_total > 100orl_totalisnull

then

dbms_output.put_line ('hello earth');

else

dbms_output.put_line ('hello moon');

endif;

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');

endif;

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每日一題 含有NULL的IF條件

哪些選項在執行之後會顯示 hello earth 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 eart...

PL SQL每日一題 含有NULL的IF條件

哪些選項在執行之後會顯示 hello earth 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 eart...

PL SQL每日一題 異常處理 WHEN子句

題目 捕獲除數為零的錯誤 ora 01476 divisor is equal to zero 並且在這種情況下顯示 bad division 所有的其他異常都必須原封不動地傳播到呼叫塊 換句話說,如果我加入下列異常處理部分然後執行如下 塊 begin plch proc 0 plch proc 1...