该报告包含一个名为“网站名称”的列,其中包含字母数字值,例如“111 street”,“4th Cross”,“Road cross”,“North end street”等。此处预期的排序位于形式:
111街道 412 Cross 北端街道 道路交叉我目前正在使用以下语法对其进行排序 -
<?sort:(xdoxslt:convert_case(SiteName,'UPPER'));'ascending';data-type='text'?>
然而,我得到的输出并不像预期的那样。
北端街道 道路交叉 111街 412 Cross
任何人都可以帮我这个。
谢谢, 阿伦
答案 0 :(得分:1)
如果每次查询都出现此问题,可能是因为您的字符集和语言设置。
除了BINARY(默认值)之外,每个NLS_SORT的数字都在字母之前排序。如果您使用的是BINARY,则顺序取决于字符集。有些字符集,例如EBCDIC,在数字之前有字母。
这些查询将显示相关设置:
select sys_context('userenv', 'nls_sort') from dual;
select * from nls_database_parameters where parameter = 'NLS_CHARACTERSET';