Oracle Databaseでは、NLS_COLLATION_NAME()
関数は、IDに基づいて、指定された照合の名前を返します。関数を呼び出すときに照合IDを渡すと、照合名が返されます。
構文
構文は次のようになります:
NLS_COLLATION_NAME(expr [, flag ])
expr
の場所 タイプNUMBER
の照合IDです。 。
flag
引数は、 Unicode照合アルゴリズム(UCA)照合にのみ適用されるオプションの引数です。関数が照合名の短い形式と長い形式のどちらを返すかを決定します。
flag
引数は次のいずれかになります:
フラグ | 説明 |
---|---|
'S' または's' | 照合名の短縮形を返します。 |
'L' または'l' | 照合名の長い形式を返します。 |
このフラグのデフォルト値は'L'
です。 。
例
基本的な例は次のとおりです。
SELECT NLS_COLLATION_NAME(70)
FROM DUAL;
結果:
XAZERBAIJANI
その他の例を次に示します。
SELECT
NLS_COLLATION_NAME(4112) AS "1",
NLS_COLLATION_NAME(4116) AS "2"
FROM DUAL;
結果:
1 2 ___________ _____________ FRENCH_M CANADIAN_M
ロング/ショートフォームフラグ
前述のように、オプションのフラグを渡して、
SELECT
NLS_COLLATION_NAME(208920, 'L') AS "Long",
NLS_COLLATION_NAME(208920, 'S') AS "Short"
FROM DUAL;
結果:
ロングショート________________________________________________________________________________このフラグのデフォルト値は
'L'
です。 。したがって、フラグを省略すると、長い形式が返されます:SELECT NLS_COLLATION_NAME(208920) AS "Default" FROM DUAL;
結果:
デフォルト__________________________________________UCA0620_THAI_S4_VS_BN_NY_EN_FN_HN_DN_MNただし、このフラグはUnicode照合アルゴリズム(UCA)照合にのみ適用されます。
フラグをUCA以外の照合に適用しても、違いはありません:
SELECT NLS_COLLATION_NAME(4112, 'L') AS "1", NLS_COLLATION_NAME(4112, 'S') AS "2" FROM DUAL;
結果:
1 2 ___________ ___________ FRENCH_M FRENCH_M無効な照合
無効な照合名を渡すと、
null
になります :SET NULL 'null'; SELECT NLS_COLLATION_NAME(4113) FROM DUAL;
結果:
nullデフォルトでは、SQLclおよびSQL * Plusは、
null
の場合は常に空白を返します。 SQLSELECT
の結果として発生します 声明。ただし、
SET NULL
は使用できます 返される別の文字列を指定します。ここでは、文字列null
を指定しました 返却する必要があります。ヌル引数
null
を渡すnull
を返します :SET NULL 'null'; SELECT NLS_COLLATION_NAME(null) FROM DUAL;
結果:
null引数の数が正しくありません
引数を渡さずに関数を呼び出すと、エラーが発生します:
SELECT NLS_COLLATION_NAME() FROM DUAL;
結果:
コマンドラインの行:1から始まるエラー-SELECT NLS_COLLATION_NAME()FROM DUALコマンドラインのエラー:1列:8エラーレポート-SQLエラー:ORA-00938:function00938の引数が不足しています。 00000-「関数の引数が足りません」*原因:*アクション:また、あまりにも多くの引数を渡すと、エラーが発生します:
SELECT NLS_COLLATION_NAME(4112, 'S', 'L') FROM DUAL;
結果:
コマンドラインの行:1から始まるエラー-SELECT NLS_COLLATION_NAME(4112、'S'、'L')FROM DUALコマンドラインのエラー:1列:8エラーレポート-SQLエラー:ORA-00939:function00939の引数が多すぎます。 00000-「関数の引数が多すぎます」*原因:*アクション: