CONCAT returns 1st argument concatenated with 2nd argument. The arguments can be CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB or NCLOB.
If the two arguments are of the same data type, then CONCAT returns a string of that type.
If they are different types then CONCAT returns a string in data type that would be lossless. For example, if the 1st argument is a NCLOB and 2nd argument is a CLOB, the CONCAT would return a string as NCLOB.
I much prefer just using ‘||’ two pipes as a shortcut concat symbol in Oracle to typing out and structuring the use of CONCAT.