读书人

在写一句oracle 希望大家帮帮忙解决办

发布时间: 2012-01-03 22:16:06 作者: rapoo

在写一句oracle 希望大家帮帮忙

外部传来两个参数col_num ase_desc
col_num 指定排序列(1 or 2 or 3)
ase_desc指定升降序(0 or 1)
表A
col_1 col_2 col_3
1 c 2:22
4 a 15:43
3 j 14:03
...

order by 处如何写?
我现在用order by
case col_num
when 1 then col_1
when 2 then col_2
when 3 then col_3
end
参数ase_desc 放不进去

如果col_num 是2 ase_desc是1
结果就是
col_1 col_2 col_3
3 j 14:03
1 c 2:22
4 a 15:43
...

[解决办法]
降序为desc,升序是不是ase记不清了,试一下:

select * from test order by decode(col_num,1,col_1,2,col_2,col_3) decode(ase_desc,1,desc,ase);

读书人网 >oracle

热点推荐