Oracle Databaseでは、COLLATION()
関数は、引数として派生した照合の名前を返します。
構文
構文は次のようになります:
COLLATION(expr)
expr
の場所 タイプCHAR
の文字列に評価する必要があります 、VARCHAR2
、LONG
、NCHAR
、またはNVARCHAR2
。
例
基本的な例は次のとおりです。
SELECT COLLATION('Boat')
FROM DUAL;
結果:
USING_NLS_COMP
COLLATE
の例 条項
COLLATE
を使用すると次のようになります 照合を明示的に指定する句:
SELECT COLLATION('Boat' COLLATE LATIN_AI)
FROM DUAL;
結果:
LATIN_AI
NLS_SORT
を使用する場合の考慮事項
COLLATION()
関数は、データにバインドされた照合のみを返し、NLS_SORT
によって設定された動的照合は返しません。 パラメータ。
例:
SELECT COLLATION('Boat' COLLATE USING_NLS_SORT)
FROM DUAL;
結果:
USING_NLS_SORT
SYS_CONTEXT()
を使用できます NLS_SORT
の値を返す関数 パラメータ:
SELECT SYS_CONTEXT('USERENV','NLS_SORT')
FROM DUAL;
結果:
BINARY
ただし、_CI
などのサフィックス 、_AI
、および_CS
返されます:
SELECT
COLLATION('Boat' COLLATE USING_NLS_SORT_CI) AS "_CI",
COLLATION('Boat' COLLATE USING_NLS_SORT_CS) AS "_CS",
COLLATION('Boat' COLLATE USING_NLS_SORT_AI) AS "_AI"
FROM DUAL;
結果:
_CI _CS _AI ____________________ ____________________ ____________________ USING_NLS_SORT_CI USING_NLS_SORT_CS USING_NLS_SORT_AI
ヌル引数
null
を渡しても、照合は返されます :
SELECT COLLATION(null)
FROM DUAL;
結果:
USING_NLS_COMP
引数の数が正しくありません
引数を渡さずに関数を呼び出すと、エラーが発生します:
SELECT COLLATION()
FROM DUAL;
結果:
Error starting at line : 1 in command - SELECT COLLATION() 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 COLLATION('Boat', 'Dang')
FROM DUAL;
結果:
Error starting at line : 1 in command - SELECT COLLATION('Boat', 'Dang') 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: