Es gibt keinen funktionellen Unterschied.
||
ist der ANSI-Standard-String-Verkettungsoperator (obwohl leider nicht jede Datenbank <cough>SQL Server</cough>
beschließt, den Standard zu unterstützen). Viele Datenbanken unterstützen ein CONCAT
funktionieren, sodass es möglicherweise einfacher ist, Code mit CONCAT
zu portieren zu verschiedenen Datenbanken.