COMPOSE takes as its argument a string, or an expression that resolves to a string, in any datatype, and returns a Unicode string in the same character set as the input.
char can be any of the datatypes
NCLOB. For example, an
o code point qualified by an umlaut code point will be returned as the o-umlaut code point.
COMPOSE returns the string in NFC normal form. For a more exclusive setting, you can first call
DECOMPOSE with the
CANONICAL setting and then
COMPOSE. This combination returns the string in NFKC normal form.
NCLOB values are supported through implicit conversion. If
char is a character LOB value, then it is converted to a
VARCHAR value before the
COMPOSE operation. The operation will fail if the size of the LOB value exceeds the supported length of the
VARCHAR in the particular development environment.
The following example returns the o-umlaut code point:
SELECT COMPOSE ( 'o' || UNISTR('\0308') ) FROM DUAL; CO -- ö