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"