Oracle 实现 mysql 的 find_in_set 排序!

时间:2021-11-07 22:13:44

oracle 实现类似MYSQL的 find_in_set 排序,函数 decode:

select * from tb_info_game where gameid in(23,20,19,26,18)
order by decode(gameid,23,1,20,2,18,3,26,4,1009,5)

by default7#zbphp.com

參考CDSN的帖子:http://topic.csdn.net/t/20060124/08/4532718.html



提问:

------------------------------------------------------------------------------------

SQL语句中   

   

  order   by     能够依照指定的顺序排序否   

   

  比方   记录中   某字段值       NCH     HCH       ACS       TWN....   

   

  我让记录依照如上的顺序排列,OK   ?





回答:

-------------------------------------------------------------------------------------

ORDER   BY   DECODE(col,'NCH','1','HCH','2','ACS','3','TWN','4',col)   

   

  这样的情况预计仅仅能这样了





说明:

"col"表示要排序的列名称

'NCH','HCH','ACS'等等表示排序的列中的详细数据

"1","2","3"等等则表示对应的数据的指定顺序了