首页 > 解决方案 > 在marklogic中可以使用什么排序规则对所有小写字母进行排序?

问题描述

我正在使用 MarkLogic8.0-6.3

我必须对首先应该对小写字母进行排序的字符串进行排序。

例如:

('a', 'A', 'b', 'B') should be sorted like ('a', 'b', 'A', 'B')

默认代码点排序规则将最后对小写字母进行排序。

更新:

输出整理http://marklogic.com/collation//CL

在此处输入图像描述

标签: marklogic

解决方案


我不认为你可以用排序规则实现你想要的。

您可以使用以下SI <strength>属性:http://marklogic.com/collation//SI

for $i in ("a", "A", "b", "B")
order by $i descending collation "http://marklogic.com/collation//SI"
return $i

但那会回来('b', 'a', 'B', 'A')

代替排序规则,可以测试该值是否等于它的fn:lower-case()值,并按该布尔值排序:

for $i in ("a", "A", "b", "B")
order by $i eq lower-case($i) descending
return $i

推荐阅读