日期:2014-05-19  浏览次数:20748 次

求大神写个oracle函数
接手一个项目一个数据库表a里存着季度Quarter字段,但是存的是 一季度 二季度的字符串,我需要比较oracle11g可以 但是客户的是9i,其它的地方都是直接用框架,我就直接写sql,也不能用java方法解决,知道oracle函数很简单可以实现,小弟oracle菜鸟啊,,,,求大神指点。我知道思路是 判断传入的字符串 然后相应的转换为 1,2,3,4 但是不知道该怎么写。

------解决方案--------------------
这种事情。。。最好是Java处理完毕就算了,虽然SQL确实能处理。

Select (
Case ? 
When 'Q1' Then 1
When 'Q2' Then 2
When 'Q3' Then 3
When 'Q4' Then 4
Else 0
End
) As num
From dual;

为了看起来清晰我换行了,其实可以全部一行,但是注意空格。另外也可以用decode函数解决。


语法和样例参见:
http://www.360doc.com/content/09/0520/23/74246_3585317.shtml