The following are the rules for implicit translation between types of expressions and function arguments.
For string functions that produce a character result, the results are summarized by the following table.
|FOR this function …||The result is …|
|TRIM||converted back to the type of the main string argument (last argument).|
||| (concatenation)||not translated and remains with the character data type of the arguments after any implicit translation.|
Note that the other string functions either do not involve conversion or the type of the result is based on the function and not the server character set of the argument.
For example, in the following TRIM function, <unicode-literal> is first translated to Latin, and then the trim operation is performed.
... TRIM(<unicode-literal> FROM <latin-value>)
The result is Latin.