我想根据IN子句示例中的顺序来命令sql查询的结果集:
select * from Employee where EmpID='Eng' and DeptID IN ('Software','Mech','Aero','Civil'),
Run Code Online (Sandbox Code Playgroud)
对于上述查询,我想订购顺序中的结果集1.软件,2.Mech,3.Aero,4.Civil
在Oracle中,使用instr()或case:
select *
from Employee
where EmpID='Eng' and DeptID IN ('Software','Mech','Aero','Civil')
order by instr('Software,Mech,Aero,Civil', DeptId)
Run Code Online (Sandbox Code Playgroud)
这也适用于DB2.
该case表单也适用于两个数据库,但更长:
order by (case DeptID when 'Software' then 1
when 'Mech' then 2
when 'Aero' then 3
when 'Civil' then 4
end)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |