3

これは、オラクルのソートで大文字と小文字を区別しないことに関連しています。私が見たソリューションのほとんどは、 session params の下に設定することに言及しています:

ALTER SESSION SET NLS_COMP = LINGUISTIC;
ALTER SESSION SET NLS_SORT = BINARY_CI;

デフォルトでは、NLS_COMP は BINARY です。

NLS_COMP を LINGUISTIC に設定せずに NLS_SORT を BINARY_CI に設定しただけでも機能することがわかりました。つまり、オラクルのソートでは大文字と小文字が区別されなくなります。NLS_COMP param を設定する利点はありますか?

4

1 に答える 1

4

NLS_COMPNLS_SORT微妙に異なる効果があります。NLS_COMP名前が示すように、比較用です。NLS_SORT名前が示すように、並べ替え用です。に設定NLS_COMPするLINGUISTICと、比較はソート規則に従い、比較はそのNLS_SORT設定を使用します。試してみると違いがわかります:

SELECT 1 FROM DUAL WHERE 'A' = 'a';

ではNLS_COMP = BINARY、比較は false になります。と を使用するNLS_COMP = LINGUISTICNLS_SORT = BINARY_CI、比較は true になります。

これを設定する必要があるかどうかは、クエリから取得したい結果によって異なります。

于 2014-12-23T00:14:45.800 に答える