2015-10-27 51 views
0

,當我有這個疑問if語句不兼容的遷移從MySQL到SQL Server

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中工作。 PLZ幫助

+0

只要將'if'更改爲'iif',它就可以工作。或者,使用'CASE'語句 – HoneyBadger

+0

iif沒有工作!你能更具體的平方嗎? – amir2h

+0

請看我的回答 – HoneyBadger

回答

2

不幸的是,IIF僅適用於SQL Server 2012及更高版本。改爲使用CASE

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

幹得好,其工作!非常感謝 – amir2h