A string_function is a function that supplies an alphanumeric value as a result.
<string_function>::= <ALPHA>(<string_spec>[,<unsigned_integer>]) | <ASCII>(<string_spec>) | <CONCAT>(<string_spec>,<string_spec>) | <EXPAND>(<string_spec>,<unsigned_integer>) | <INITCAP>(<string_spec>) | <LFILL>(<string_spec>,<string_literal>[,<unsigned_integer>]) | <LOWER>(<string_spec>) | <LPAD>(<string_spec>,<expression>,<string_literal>[,<unsigned_integer>]) | <LTRIM>(<string_spec>[,<string_spec>]) | <MAPCHAR>(<string_spec>[,<unsigned_integer>][,< mapchar_set_name>]) | <REPLACE>(<string_spec>,<string_spec>[,<string_spec>]) | <RFILL>(<string_spec>,<string_literal>[,<unsigned_integer>]) | <RPAD>(<string_spec>,<expression>,<string_literal>[,<unsigned_integer>]) | <RTRIM>(<string_spec>[,<string_spec>]) | <SOUNDEX>(<string_spec>) | <SQLMODE>() | <SUBSTR>(<string_spec>,<expression>[,<expression>]) | <TRANSLATE>(<string_spec>,<string_spec>,<string_spec>) | <TRIM>(<string_spec>[,<string_spec>]) | <UPPER>(<string_spec>) | <string_spec> || <string_spec> | <string_spec> & <string_spec> <string_spec>::= <expression>
Explanation
<string_spec> || <string_spec> or <string_spec> & <string_spec> is used to represent a concatenation (CONCAT(x,X), x||y or x&y).
Only expressions that have an alphanumeric value are permitted as string specifications ( string_spec).