Functions that take a character string input and return a character string output use the collation of the input string for the output.
Functions that take non-character inputs and return a character string use the default collation of the current database for the output.
Functions that take multiple character string inputs and return a character string use the rules of collation precedence to set the collation of the output string. For more information, see Collation Precedence (Transact-SQL).