当前位置: 首页 > 面试题库 >

如何告诉oracle按照从Java传入的特定排序顺序进行排序?

昌和悦
2023-03-14
问题内容

这是我需要做的。

我在Java中有一个列表,可以将其转换为逗号分隔的ID字符串,例如“ 3,4,5,6,1,2”

我想知道是否有办法将该字符串传递给oracle,并根据该字符串的排序顺序对sql代码进行排序

所以这个查询:

select t.id
from t_test t

将导致此顺序

ID
3
4
5
6
1
2

问题答案:

如果可以在Java中修改查询,则可以执行以下操作:

SELECT t.id
FROM t_test t
ORDER BY DECODE(t.id, 3, 'A', 'B') ASC,
         DECODE(t.id, 4, 'A', 'B') ASC,
         DECODE(t.id, 5, 'A', 'B') ASC,
         DECODE(t.id, 6, 'A', 'B') ASC,
         DECODE(t.id, 1, 'A', 'B') ASC,
         DECODE(t.id, 2, 'A', 'B') ASC;

您必须为列表中的每个元素在order by子句中放入一个解码。每次解码中的第二个参数是列表的一个元素。



 类似资料:
  • 已知字母序列【d, g, e, c, f, b, o, a】,请实现一个函数针对输入的一组字符串 input[] = {“bed”, “dog”, “dear”, “eye”},按照字母顺序排序并打印,结果应为:dear, dog, eye, bed。 说明 本问题在网上比较常见,但这里尝试用另外一个思路,并且用python来写,与众多用c++的有所不同,且似乎短小了不少。自己感觉比网上参考到的更

  • 问题内容: 我正在尝试创建一个HashSet(或任何集合类型- 但我认为HashSet最适合我),无论插入什么,它都将保持顺序。这是我正在从事的联系人管理器项目。我一直在尝试以下示例。 我希望输出将名称按字母顺序排列-至少根据其名字或姓氏。但是,我什至无法辨别用于此排序的HashSet方法。 我的问题是,如何告诉程序如何根据规范对名称进行排序? 问题答案: HashSet不会为条目提供任何有意义的

  • 我使用Spock进行测试,我有多个类要测试。我想告诉Spock按照特定的顺序测试每个类。有办法做到这一点吗?我注意到TestNG有注释,那么Spock也有类似的注释吗?

  • 问题内容: 如何按自定义顺序排序? 输入: 预期结果: 我的python代码现在如下: 问题答案: 使之间的映射,,0,1,2 并将映射用于排序键:

  • 问题内容: 我有一个包含国家/地区名称的对象。如何按字母顺序对列表进行排序? 问题答案: 假设这些是字符串,请使用方便的静态方法sort……

  • 本文向大家介绍python dict按照value进行排序?相关面试题,主要包含被问及python dict按照value进行排序?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 按照value从大到小排序: sorted(d.items(),key = lambda x:x[1],reverse = True) 按照value从小到大排序: sorted(d.items(),key =