In an Oracle database I work with, many NUMBER columns were originally created with NULL precision. My understanding is that these columns have implicit maximum precision. (Per Oracle: "If a precision is not specified, the column stores values as given.") They currently contain data. 

The maximum precision I can explicitly specify for a new column is 38. However, when I attempt to modify these existing columns to set this explicit precision, Oracle throws an error:

```
ALTER TABLE test_table
MODIFY column NUMBER(38);

```

> 
> ORA-01440: column to be modified must be empty to decrease precision or scale
> 
> 
> 

If 38 is the maximum, how am I decreasing precision by setting that number?

The alternative approaches to changing this type (e.g., creating a new column, copying data, dropping/re-adding constraints, etc.) are quite laborious relative to the modify statement.