gpt4 book ai didi

java - SQL 中的名称按字母顺序排列

转载 作者:行者123 更新时间:2023-12-01 23:39:54 29 4
gpt4 key购买 nike

我有需要按字母顺序排序的名称列表,因此我对所有值执行 UPPER 操作,并使用 ORDER_BY 来显示排序。

HashMap<String, Object> params = new HashMap<String, Object>();
params.put( "ORDER_BY", "UPPER (VALUE)" );
ArrayList<DataObject> results = (ArrayList<DataObject>) dao.getDataObjects( params, conn );

排序工作得很好,但我想更多地了解下面的场景。例如,当我对名称 JaCoBsOn、JACOBson 进行排序时。 JACOBson 将是第一个,JaCoBsOn 是下一个,为什么不先是 JaCoBsOn,然后是 JACOBson?

我的猜测是因为它将名称转换为大写。那么,在对名称 JaCoBsOn 和 JACOBson 进行排序时,会被视为 JACOBSON 并以随机顺序显示?

最佳答案

当您转换为大写时,您会得到诸如 JaCoBsOnJACOBson 之类的名称的联系,是的:Oracle 会以(看似)随机的顺序排列联系。为了摆脱这种随机性,您需要一个决胜局。

请注意,大写字母排序在小写字母之前,因此如果您希望 JaCoBsOnJACOBson 之前排序作为决胜局,您可以执行以下操作:

ORDER BY UPPER(VALUE), VALUE DESC

关于java - SQL 中的名称按字母顺序排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18128719/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com