Oracle Databaseでは、COMPOSE()
関数は、Unicode標準定義D117で説明されているように、Unicode正規合成をその文字列引数に適用した結果を返します。
これは、DECOMPOSE()
の反対です。 機能。
構文
構文は次のようになります:
COMPOSE(char)
char
の場所 CHAR
の1つです 、VARCHAR2
、NCHAR
、またはNVARCHAR2
データ型。
例
デモンストレーションの例を次に示します。
SELECT
COMPOSE('a' || UNISTR('\0303'))
FROM DUAL;
結果:
ã
非Unicode文字
引数の文字セットがUnicode文字セットのいずれでもない場合、引数は変更されずに返されます。
例:
SELECT COMPOSE( 'a' )
FROM DUAL;
結果:
a
null
の場合 、結果はnull
です : SET NULL 'null';
SELECT COMPOSE(null)
FROM DUAL;
結果:
null
デフォルトでは、SQLclおよびSQL * Plusは、SQL SELECT
の結果としてnull値が発生するたびに空白を返します。 ステートメント。
ただし、SET NULL
を使用できます 返される別の文字列を指定します。ここでは、文字列null
を指定しました 返却する必要があります。
COMPOSE()
を呼び出す 引数がないとエラーが発生します:
SELECT COMPOSE()
FROM DUAL;
結果:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
また、あまりにも多くの引数を渡すと、エラーが発生します:
SELECT COMPOSE('a', 'b')
FROM DUAL;
結果:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"