内置在SQL Server 2008中的解码功能

时间:2010-11-27 15:08:01

标签: sql-server plsql

我正在将我的数据库从oracle迁移到SQL Server 2008.你能展示一个可以和oracle的解码一样工作的内置函数吗?我不想在每次查询时都写出案例。

3 个答案:

答案 0 :(得分:4)

T-SQL中没有等效功能,因此您必须使用CASE

请参阅herehere

答案 1 :(得分:1)

除了使用CASE语句或编写UDF之外,我认为你运气不好。

根据this link,DECODE在支持Oracle CASE上变得有点无关紧要。

  

但回到原来的话题......
  案例很快被采纳了,而且   原因是它提供了新的和   有利的功能超过了   旧的解码。

     

- Daniel A. Morgan
  Oracle Ace Director&教师大学   华盛顿damorgan@x.washington.edu

答案 2 :(得分:0)

您可以使用CASE:

Select f1, case f2
                         When 1 then 'A'
                         When 2 then 'B'
                         When 3 then 'C'
                         Else 'Some other'
            End as f2_decode
from MyTable