The result of a concatenation operation is a string formed by concatenating the arguments in a left-to-right direction.
Here are the default result type and attributes for arg1 || arg2:
- If the arguments are byte strings, the result is a byte string.
- If the arguments are numeric, character strings, or UDTs that are implicitly cast to character strings, the result is a character string.
If either argument is null, the result is null.
The data types and attributes of the arguments determine whether the result type of a concatenation operation is a fixed length or varying length string. Result types appear in the following table, where n is the sum of the lengths of all arguments:
|IF this argument …||Is this data type or attribute …||THEN the result is this data type or attribute …|
|UDT that is implicitly cast to VARCHAR|
|CHARACTER (with same server character set)||CHARACTER(n)|
|UDT that is implicitly cast to CHARACTER (with the same server character set)|
|CHARACTER (with different server character sets)||VARCHAR(n)|
|UDT that is implicitly cast to CHARACTER (with different server character sets)|
When either argument is a character string that specifies the CASESPECIFIC attribute, the result also specifies the CASESPECIFIC attribute.