2011-11-10 CLOB为空的判断

来源:这里教程网 时间:2026-03-03 14:43:28 作者:

http://www.itpub.net/thread-1499223-13-1.html 129楼 下列的哪些选项在执行之后会显示 "CLOB has a length of 0" ?(A)

DECLARE
   l_clob   CLOB;
BEGIN
   IF l_clob IS NULL
   THEN
      DBMS_OUTPUT.put_line ('CLOB is NULL');
   ELSE
      DBMS_OUTPUT.put_line ('CLOB has a length of '
                             || LENGTH (l_clob));
   END IF;
END;
/
SQL> DECLARE
  2     l_clob   CLOB;
  3  BEGIN
  4     IF l_clob IS NULL
  5     THEN
  6        DBMS_OUTPUT.put_line ('CLOB is NULL');
  7     ELSE
  8        DBMS_OUTPUT.put_line ('CLOB has a length of '
  9                               || LENGTH (l_clob));
 10     END IF;
 11  END;
 12  /
CLOB is NULL
PL/SQL procedure successfully completed
SQL>

(B)

DECLARE
   l_clob   CLOB := EMPTY_CLOB ();
BEGIN
   IF l_clob IS NULL
   THEN
      DBMS_OUTPUT.put_line ('CLOB is NULL');
   ELSE
      DBMS_OUTPUT.put_line ('CLOB has a length of '
                             || LENGTH (l_clob));
   END IF;
END;
/
SQL> DECLARE
  2     l_clob   CLOB := EMPTY_CLOB ();
  3  BEGIN
  4     IF l_clob IS NULL
  5     THEN
  6        DBMS_OUTPUT.put_line ('CLOB is NULL');
  7     ELSE
  8        DBMS_OUTPUT.put_line ('CLOB has a length of '
  9                               || LENGTH (l_clob));
 10     END IF;
 11  END;
 12  /
CLOB has a length of 0
PL/SQL procedure successfully completed
SQL>

(C)

DECLARE
   l_clob   CLOB := '';
BEGIN
   IF l_clob IS NULL
   THEN
      DBMS_OUTPUT.put_line ('CLOB is NULL');
   ELSE
      DBMS_OUTPUT.put_line ('CLOB has a length of '
                             || LENGTH (l_clob));
   END IF;
END;
/
SQL> DECLARE
  2     l_clob   CLOB := '';
  3  BEGIN
  4     IF l_clob IS NULL
  5     THEN
  6        DBMS_OUTPUT.put_line ('CLOB is NULL');
  7     ELSE
  8        DBMS_OUTPUT.put_line ('CLOB has a length of '
  9                               || LENGTH (l_clob));
 10     END IF;
 11  END;
 12  /
CLOB is NULL
PL/SQL procedure successfully completed
SQL>

(D)

DECLARE
   l_clob1   CLOB := EMPTY_CLOB ();
   l_clob2   CLOB := l_clob1;
BEGIN
   IF l_clob2 IS NULL
   THEN
      DBMS_OUTPUT.put_line ('CLOB is NULL');
   ELSE
      DBMS_OUTPUT.put_line ('CLOB has a length of '
                             || LENGTH (l_clob2));
   END IF;
END;
/
SQL> DECLARE
  2     l_clob1   CLOB := EMPTY_CLOB ();
  3     l_clob2   CLOB := l_clob1;
  4  BEGIN
  5     IF l_clob2 IS NULL
  6     THEN
  7        DBMS_OUTPUT.put_line ('CLOB is NULL');
  8     ELSE
  9        DBMS_OUTPUT.put_line ('CLOB has a length of '
 10                               || LENGTH (l_clob2));
 11     END IF;
 12  END;
 13  /
CLOB has a length of 0
PL/SQL procedure successfully completed
SQL>

答案在134楼 11-10 答案BD. 注意答案C里面的 '' 相当于NULL.

相关推荐

热文推荐