Oracleでは、NLSSORT()
関数は、指定された文字値と明示的または暗黙的に指定された照合の照合キーを返します。
この関数は、指定された照合に基づいて文字列値との比較を実行する場合に役立ちます。
構文
構文は次のようになります:
NLSSORT(char [, 'nlsparam' ])
両方のchar
および‘ nlsparam
‘は任意のデータ型CHAR
にすることができます 、VARCHAR2
、NCHAR
、またはNVARCHAR2
。
'nlsparam'
引数の形式は次のとおりです。
'NLS_SORT = collation'
collation
の場所 言語照合またはBINARY
の名前です 。
NLSSORT()
指定された照合を使用して照合キーを生成します。 ‘ nlsparam
を省略した場合 ‘の場合、関数は引数 char
の派生照合を使用します 。
例
関数の戻り値の例を次に示します。
SELECT
NLSSORT('Chess') AS Result
FROM DUAL;
結果:
RESULT _______________ 436865737300
照合を指定する
この例では、照合を指定します:
SELECT
NLSSORT('Schach', 'NLS_SORT=XGERMAN') AS Result
FROM DUAL;
結果:
RESULT _______________________________ 691E37141E370003010101010100
2つの文字列の比較
NSSORT()
の例を次に示します。 関数を使用して、言語規則に基づいて2つの文字列を比較できます。
DECLARE
v1 NVARCHAR2(10) := 'Schach';
v2 NVARCHAR2(10) := 'Schabsel';
BEGIN
IF NLSSORT(v1, 'NLS_SORT=XGERMAN') > NLSSORT(v2, 'NLS_SORT=XGERMAN') THEN
DBMS_OUTPUT.PUT_LINE( 'Yes' );
ELSE
DBMS_OUTPUT.PUT_LINE( 'No' );
END IF;
END;
結果:
Yes
ヌル値
null
を渡す null
を返します :
SELECT
NLSSORT(null, 'NLS_SORT = XAZERBAIJANI') AS r1,
NLSSORT('fasilə', null) AS r2,
NLSSORT(null, null) AS r3
FROM DUAL;
結果:
R1 R2 R3 _______ _______ _______ null null null
デフォルトでは、SQLclおよびSQL * Plusは、null
の場合は常に空白を返します。 SQL SELECT
の結果として発生します 声明。
ただし、SET NULL
は使用できます 返される別の文字列を指定します。ここでは、文字列null
を指定しました 返却する必要があります。
引数の数が正しくありません
NLSSORT()
の呼び出し 引数を渡さないとエラーが返されます:
SELECT NLSSORT()
FROM DUAL;
結果:
Error starting at line : 1 in command - SELECT NLSSORT() 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:
そして、あまりにも多くの引数を渡すと、エラーが発生します:
SELECT NLSSORT('coffee', 'NLS_SORT = XSPANISH', 'time')
FROM DUAL;
結果:
Error starting at line : 1 in command - SELECT NLSSORT('coffee', 'NLS_SORT = XSPANISH', 'time') FROM DUAL Error at Command Line : 1 Column : 49 Error report - SQL Error: ORA-00939: too many arguments for function 00939. 00000 - "too many arguments for function" *Cause: *Action:
詳細情報
NLSSORT()
の詳細は、 『Oracle SQL言語リファレンス』を参照してください。 機能。