Oracle Databaseでは、NLS_CHARSET_NAME() 関数は、IDに基づいて、指定された文字セットの文字セット名を返します。文字セットIDを引数として渡すと、関数はその名前を返します。
構文
構文は次のようになります:
NLS_CHARSET_NAME(number)
number 名前を返す文字セットIDです。
例
基本的な例は次のとおりです。
SELECT NLS_CHARSET_NAME(1)
FROM DUAL; 結果:
US7ASCII
これは別の文字セットIDです:
SELECT NLS_CHARSET_NAME(871)
FROM DUAL; 結果:
UTF8
ヌル引数
引数がnullの場合 、結果はnullです :
SET NULL 'null';
SELECT NLS_CHARSET_NAME(null)
FROM DUAL; 結果:
null
デフォルトでは、SQLclおよびSQL * Plusは、nullの場合は常に空白を返します。 SQL SELECTの結果として発生します 声明。
ただし、SET NULLは使用できます 返される別の文字列を指定します。ここでは、文字列nullを指定しました 返却する必要があります。
無効な文字セットID
無効な文字セットIDを渡すと、nullになります :
SET NULL 'null';
SELECT NLS_CHARSET_NAME(19999)
FROM DUAL; 結果:
null
ただし、間違ったデータ型を渡すとエラーが返されます:
SELECT NLS_CHARSET_NAME('oops')
FROM DUAL; 結果:
Error starting at line : 1 in command -
SELECT NLS_CHARSET_NAME('oops')
FROM DUAL
Error report -
ORA-01722: invalid number 引数の数が正しくありません
引数を渡さずに関数を呼び出すと、エラーが発生します:
SELECT NLS_CHARSET_NAME()
FROM DUAL; 結果:
Error starting at line : 1 in command - SELECT NLS_CHARSET_NAME() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00938: not enough arguments for function 00938. 00000 - "not enough arguments for function" *Cause: *Action:
ただし、複数の文字セットIDを渡すと、最初のIDの名前が返されます:
SELECT NLS_CHARSET_NAME(871, 1)
FROM DUAL; 結果:
UTF8