2

我的问题是我有一个数据库列,我们称之为 x。

x 值为 0,1,2,3 。在我的 java 应用程序中,每个数字都有自己的值,例如:

0 - expire
1 - approval
2 - pending
3 - counting

我需要做的是从与它们相关的字符串值排序的数据库记录中选择

因此,如果上述选择结果将是:

1 - approval , 
3 - counting,
0 - expire
2 - pending.

我必须补充一点,在 java 中排序是不可能的,所以我需要在 plsql 站点中对记录进行排序。

任何人都可以帮助我如何执行这种查询,

先感谢您

4

1 回答 1

7

您可以在子句中使用CASE表达式或decode()函数order by来进行自定义排序:

-- sampe of data from 0 to 3
SQL> with t1(x) as(
  2    select level - 1
  3      from dual
  4    connect by level <= 4
  5  )
  6  select *  -- actual query
  7    from t1
  8   order by case x
  9              when 0 then 'expire'
 10              when 1 then 'approval'
 11              when 2 then 'pending'
 12              when 3 then 'counting'
 13            end
 14  ;
         X
----------
         1
         3
         0
         2 
于 2013-08-19T13:19:21.913 回答