What is the difference between "||" operator and concat function in Oracle?

database, oracle, sql

Solution

There is no functional difference.

`||` is the ANSI standard string concatenation operator (though, unfortunately, not every database `<cough>SQL Server</cough>` chooses to support the standard). Many databases support a `CONCAT` function so it may be easier to port code using `CONCAT` to different databases.

Problem

Would it be possible to explain the difference between the `concat()` function and the `||` operator in Oracle? Which one is better in terms of performance?

Original source