diff -r b5d75690ddba src/org/apache/ddlutils/platform/SqlBuilder.java
--- a/src/org/apache/ddlutils/platform/SqlBuilder.java	Wed May 29 16:59:29 2019 +0200
+++ b/src/org/apache/ddlutils/platform/SqlBuilder.java	Wed Jul 31 12:13:25 2019 +0200
@@ -1995,8 +1995,17 @@
     for (int i = 0; i < newColumns.size(); i++) {
       Column column = newColumns.get(i).getNewColumn();
       if (column.isRequired() && !column.isPrimaryKey()) {
-        println("ALTER TABLE " + newColumns.get(i).getChangedTable().getName() + " MODIFY "
-            + getColumnName(column) + " " + getSqlType(column) + " NULL");
+        if (getSqlType(column).equalsIgnoreCase("CLOB") ||
+	    getSqlType(column).equalsIgnoreCase("NCLOB") ||
+	    getSqlType(column).equalsIgnoreCase("BLOB")) {
+          // In the case of Large Object columns in oracle, it is wrong to specify the type 
+          // when changing the null/not null constraint
+          println("ALTER TABLE " + newColumns.get(i).getChangedTable().getName() + " MODIFY "
+              + getColumnName(column) + " NULL");
+	} else {
+          println("ALTER TABLE " + newColumns.get(i).getChangedTable().getName() + " MODIFY "
+              + getColumnName(column) + " " + getSqlType(column) + " NULL");
+	}
         printEndOfStatement();
       }
 
@@ -2066,9 +2075,11 @@
       Column column = table.getColumn(i);
       if (column.isRequired() && !column.isPrimaryKey()
           && !recreatedTablesTwice.contains(table.getName())) {
-        if (getSqlType(column).equalsIgnoreCase("CLOB")) {
-          // In the case of CLOB columns in oracle, it is wrong to specify the type when changing
-          // the null/not null constraint
+        if (getSqlType(column).equalsIgnoreCase("CLOB") ||
+	    getSqlType(column).equalsIgnoreCase("NCLOB") ||
+	    getSqlType(column).equalsIgnoreCase("BLOB")) {
+          // In the case of Large Object columns in oracle, it is wrong to specify the type 
+          // when changing the null/not null constraint
           println(
               "ALTER TABLE " + table.getName() + " MODIFY " + getColumnName(column) + " NOT NULL");
         } else {
@@ -2095,8 +2106,17 @@
     for (int i = 0; i < newColumns.size(); i++) {
       Column column = newColumns.get(i).getChangedColumn();
       if (column.isRequired() && !column.isPrimaryKey()) {
-        println("ALTER TABLE " + newColumns.get(i).getChangedTable().getName() + " MODIFY "
-            + getColumnName(column) + " " + getSqlType(column) + " NOT NULL");
+        if (getSqlType(column).equalsIgnoreCase("CLOB") ||
+	    getSqlType(column).equalsIgnoreCase("NCLOB") ||
+	    getSqlType(column).equalsIgnoreCase("BLOB")) {
+          // In the case of Large Object columns in oracle, it is wrong to specify the type 
+          // when changing the null/not null constraint
+          println("ALTER TABLE " + newColumns.get(i).getChangedTable().getName() + " MODIFY "
+              + getColumnName(column) + " NOT NULL");
+	} else {
+          println("ALTER TABLE " + newColumns.get(i).getChangedTable().getName() + " MODIFY "
+              + getColumnName(column) + " " + getSqlType(column) + " NOT NULL");
+	}
         printEndOfStatement();
       }
 
