All fields should have (default) values.So how do you represent unknown values? By using a default "UNKNOWN"?
Then I might just as well use a NULL...
If I insert an empty string into a varchar field in Oracle, it helpfully inserts a NULL instead.VARCHAR-fields do in theory exist in Oracle but nobody uses them.
You are talking about VARCHAR2-fields and for them an empty string IS a NULL. There is no difference at all. If you use that data-type you must be aware of this.