Q:

What datatype does the result of 2 concatenated char columns have?

Oracle docs says that 2 concatenated fields returns char type, but char type max length is the 2000 bytes.
In my case two columns have a char type, and length of each column 2000 bytes. 
Example:
   create table temp(
      column_1 char(2000),
      column_2 char(2000)
   );

select column_1 || column_2 from temp;

A:

From the Oracle docs:

The result of concatenating two character strings is another character
  string. If both character strings are of datatype CHAR, the result has
  datatype CHAR and is limited to 2000 characters. If either string is of datatype VARCHAR2, 
  the result has datatype VARCHAR2 and is limited to 4000 characters. If
  either argument is a CLOB, the result is a temporary CLOB. Trailing
  blanks in character strings are preserved by concatenation, regardless
  of the datatypes of the string or CLOB.

So it means that when you will concatenate both the columns which have 2000 length then after concatenation it would be a CHAR type with length 2000 and the rest will be ignored.

