Table Oracle PLSQL Tutorial

If the table is empty or the column contains null values, you can change the column to any data type.
Otherwise you can only change the data type of a column to a compatible data type.

SQL> -- create demo table
SQL> create table Employee(
  2    ID                 VARCHAR2(4 BYTE)         NOT NULL,
  3    First_Name         VARCHAR2(10 BYTE),
  4    Last_Name          VARCHAR2(10 BYTE),
  5    Start_Date         DATE,
  6    End_Date           DATE,
  7    Salary             Number(8,2),
  8    City               VARCHAR2(10 BYTE),
  9    Description        VARCHAR2(15 BYTE)
 10  )
 11  /
Table created.
SQL>
SQL> desc employee;
 Name             Null?    Type
 -----------------
 ID               NOT NULL VARCHAR2(4)
 FIRST_NAME                VARCHAR2(10)
 LAST_NAME                 VARCHAR2(10)
 START_DATE                DATE
 END_DATE                  DATE
 SALARY                    NUMBER(8,2)
 CITY                      VARCHAR2(10)
 DESCRIPTION               VARCHAR2(15)
SQL>
SQL> ALTER TABLE employee
  2  MODIFY first_Name CHAR(15);
Table altered.
SQL>
SQL> desc employee;
 Name              Null?    Type
 ------------------
 ID                NOT NULL VARCHAR2(4)
 FIRST_NAME                 CHAR(15)
 LAST_NAME                  VARCHAR2(10)
 START_DATE                 DATE
 END_DATE                   DATE
 SALARY                     NUMBER(8,2)
 CITY                       VARCHAR2(10)
 DESCRIPTION                VARCHAR2(15)
SQL>
SQL> -- clean the table
SQL> drop table Employee
  2  /
Table dropped.
SQL>