DEFAULT EMPTY_CLOB() CREATE TABLE TEST
(
  ID    NUMBER,
  COL1  NCLOB                                   DEFAULT 'EMPTY_CLOB()',
  COL2  NCLOB                                   DEFAULT EMPTY_CLOB(),
  COL3  NCLOB                                   DEFAULT (EMPTY_CLOB())
);


What is the diferrence between DEFAULT 'EMPTY_CLOB()' and DEFAULT EMPTY_CLOB() and DEFAULT (EMPTY_CLOB()). All empty_clob() output same or are they different?

INSERT INTO TEST(ID) VALUES(1);

SELECT ID, LENGTH(COL1), LENGTH(COL2), LENGTH(COL3) FROM TEST;


output:

1   12  0 0
DEFAULT 'EMPTY_CLOB()' is useless. It inserts the text 'EMPTY_CLOB()' to your table. String "EMPTY_CLOB()" has 12 characters as you see.

EMPTY_CLOB() and (EMPTY_CLOB()) should be the same, i.e. an empty CLOB.