Does NULL have a type?
Oracle:

The null literal does not have a type, but


null can be cast to any type, and this may be necessary when


calling overloaded procedures or functions
controlling the return type of the decode function, eg:

select decode('A','B',to_char(null),'A','1') from dual;
DECODE('A','B',TO_CHAR(NULL),'A','1')
-------------------------------------
1

select decode('A','B',to_number(null),'A','1') from dual;
DECODE('A','B',TO_NUMBER(NULL),'A','1')
--------------------------------------- 
                                      1

controlling column types of set operators like union when the first query block includes a null 

null values stored in the database always have a type:

create table t(n integer, s varchar(10));
insert into t values(null, null);

select decode('A','B',n,'A','1') from t; 
DECODE('A','B',N,'A','1')
-------------------------
                        1

select decode('A','B',s,'A','1') from t;
DECODE('A','B',S,'A','1')
-------------------------
1