1

レポートには、'111 street'、'4th Cross'、'Road cross'、'North end street' などの英数字の値を含む 'Site Name' という列が含まれています。ここで期待される並べ替えは次の形式です。

111通り 412交差点 北端通り 道路交差点

現在、同じものをソートするために次の構文を使用しています-

<?sort:(xdoxslt:convert_case(SiteName,'UPPER'));'ascending';data-type='text'?>

ただし、取得している出力は期待どおりではありません。

北端街道 道路交差点 111通り 412交差点

誰でもこれについて私を助けることができますか?

ありがとう、アルン

4

1 に答える 1

1

すべてのクエリでこの問題が発生する場合は、文字セットと言語設定が原因である可能性があります。

BINARY (デフォルト) を除いて、すべての NLS_SORT で数字が文字の前にソートされます。BINARY を使用している場合、順序は文字セットによって異なります。EBCDIC などの一部の文字セットでは、数字の前に文字があります。

これらのクエリは、関連する設定を表示します。

select sys_context('userenv', 'nls_sort') from dual;
select * from nls_database_parameters where parameter = 'NLS_CHARACTERSET';
于 2011-08-31T03:31:34.327 に答える