Oracle Databaseでは、NLS_COLLATION_ID()
関数は、指定された照合のIDを返します。関数を呼び出すときに照合名を渡すと、照合IDが返されます。
構文
構文は次のようになります:
NLS_COLLATION_ID(expr)
expr
の場所 タイプVARCHAR2
の照合名です。 。
例
基本的な例は次のとおりです。
SELECT NLS_COLLATION_ID('XAZERBAIJANI')
FROM DUAL;
結果:
70
その他の例を次に示します。
SELECT
NLS_COLLATION_ID('UCA0620_THAI') AS "1",
NLS_COLLATION_ID('UCA0620_TSPANISH') AS "2",
NLS_COLLATION_ID('CANADIAN_M') AS "3",
NLS_COLLATION_ID('FRENCH_M') AS "4"
FROM DUAL;
結果:
1 2 3 4 _________ _________ _______ _______ 208920 208917 4116 4112
無効な照合
無効な照合名を渡すと、null
になります :
SET NULL 'null';
SELECT NLS_COLLATION_ID('Oops!')
FROM DUAL;
結果:
null
デフォルトでは、SQLclおよびSQL * Plusは、null
の場合は常に空白を返します。 SQL SELECT
の結果として発生します 声明。
ただし、SET NULL
は使用できます 返される別の文字列を指定します。ここでは、文字列null
を指定しました 返却する必要があります。
ヌル引数
null
を渡す null
を返します :
SET NULL 'null';
SELECT NLS_COLLATION_ID(null)
FROM DUAL;
結果:
null
引数の数が正しくありません
引数を渡さずに関数を呼び出すと、エラーが発生します:
SELECT NLS_COLLATION_ID()
FROM DUAL;
結果:
Error starting at line : 1 in command - SELECT NLS_COLLATION_ID() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action:
また、あまりにも多くの引数を渡すと、エラーが発生します:
SELECT NLS_COLLATION_ID('JAPANESE_M', 'THAI_M')
FROM DUAL;
結果:
Error starting at line : 1 in command - SELECT NLS_COLLATION_ID('JAPANESE_M', 'THAI_M') FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action: