STRING function concatenates one or more strings into a single string.
Quick Example:
-- Concatenate strings AB and CD SELECT STRING('AB', 'CD'); -- Result: ABCD
Summary information:
Syntax | STRING(string_expression, …) | ||
Return Type | LONG VARCHAR | ||
NULL Values | NULL value in a parameter is treated as '' (empty string) | ||
But STRING returns NULL if all parameters are NULL | |||
Parameter Conversion | Number and datetime parameters are implicitly converted to string before concatenation | ||
Single Parameter | STRING with one parameter can be used to convert an expression to string | ||
Alternatives | || operator | NULL is '' | Implicit casting |
+ operator | Result is NULL if any parameter is NULL | Explicit casting |
Last Update: Sybase SQL Anywhere 12.0
STRING function concatenates one or more string expressions into a single string:
SELECT STRING('A', 'B', 'C'); -- Result: ABC
NULL value in any parameter is treated as '' (empty string):
SELECT STRING('A', NULL, 'B'); -- Result: AB
But if all parameters evaluate to NULL, STRING returns NULL, not empty string:
SELECT STRING(NULL, NULL, NULL); -- Result: NULL
STRING function implicitly converts numbers and datetime values to string before concatenation:
SELECT STRING(1, 2, 3); -- Result: 123
You can also use || and + operators to concatenate strings.
|| operator is equal to STRING function, it treats a NULL parameter as '' (empty string), and casts non-string expressions to string implicitly:
SELECT 'A' || NULL || 'B'; -- Result: AB SELECT 1 || 2 || 3; -- Result: 123
+ operator returns NULL if any expression is NULL, and it also requires explicit casting for non-string data types:
SELECT 'A' + NULL + 'B'; -- Result: NULL -- Arithmetic operation is performed without casting to string SELECT 1 + 2 + 3; -- Result: 6
String concatenation in other databases ( denotes differences):
Oracle:
CONCAT(string1, string2) | 2 arguments only | NULL is '' (empty string) |
|| Operator | NULL is '' |
For more information, see Convert STRING to Oracle.
SQL Server:
MySQL:
|| Operator | Result is NULL if any value is NULL | sql_mode PIPES_AS_CONCAT or ANSI must be set |
CONCAT(s1, s2, ...) | Result is NULL if any value is NULL | |
CONCAT_WS(sep, s1, s2, …) | NULL is '' | Allows to specify a separator |
GROUP_CONCAT | NULL values skipped | Concatenates values within a group |
PostgreSQL:
|| Operator | If any value is NULL, the result is NULL | |
CONCAT(s1, s2, …) | NULL is '' | Implicit Casting |
CONCAT_WS(sep, s1, s2, …) | NULL is '' | Allows to specify a separator |