今天在review同事的代码的时候,碰到一个比较头疼的数据库查询。例如,我想查列A的结果,但我要根据B列的值的情况来确定A列的输出,说白了就是我可以自己控制得到的输出。这个情况有两种方法来实现。
第一种是decode, 这个关键字似乎只是oracle支持。而且也没有解决我的问题,因为我觉得他类似于逻辑中的switch语句,并不支持复杂的逻辑。另一个是case语句,这个可以很好的支持复杂一点的逻辑,语法如下:
case (
when then,
when then,
else ,
end)
第一种是decode, 这个关键字似乎只是oracle支持。而且也没有解决我的问题,因为我觉得他类似于逻辑中的switch语句,并不支持复杂的逻辑。另一个是case语句,这个可以很好的支持复杂一点的逻辑,语法如下:
case (
when then,
when then,
else ,
end)