从MySql迁移到SQL Server时不兼容的if语句

时间:2015-10-27 08:17:55

标签: sql-server-2008

我有这个查询

select if(flow_peymankar_type.title = '' , 
    flows.title, flow_peymankar_type.title) as title,
    flows.minRow, 
    [flow_peymankar_type].id,
    [flows].[file],
    [flows].isMandetory 
from flow_peymankar_type 
inner join flows 
    on flows.id = flow_peymankar_type.flowsId 
where [peymankarTypeId]=11     
order by flow_peymankar_type.code desc

它在mysql中工作正常。

但是现在我必须迁移到sql server 2008, 但这个查询对我来说是一个问题,我不知道如何更改它在sql server中工作。请帮忙

1 个答案:

答案 0 :(得分:2)

不幸的是,IIF仅在sql server 2012及更高版本中可用。请改用CASE

SELECT      CASE
               WHEN flow_peymankar_type.title = '' THEN flows.title
               ELSE flow_peymankar_type.title
            END AS title 
....