I'm looking for a way (maybe creating function) to use concat with more than 2 string
You can use the double pipe like this:
select col1 || col2 || col3 ...
It's not one function but usually it's good enough.
if you really want to use a function and then you can use nested concatenation as present in the below link