2015-02-11 82 views
1

我只想問一下在SQL Server 2014 Express中使用IF語句的正確方法是什麼?我有這個代碼,但沒有運氣,它不工作。SQL Server Express IF聲明

select 
    field1, 
    field2, 
    field3, 
    field4, 
    if(field5 = 'value1', field5, 
    if(field5 = 'value2', field5, 
    if(field5 = 'value3', field5, 
    if(field5 = 'value4', field5, field6)))) 
from 
    table1 

任何幫助將不勝感激。提前致謝。

+0

看來你需要['IIF() '](https://msdn.microsoft.com/en-us/library/hh213574.aspx)函數而不是'if'語句。 – 2015-02-11 03:49:56

回答

3

標準SQL語法IFCASE WHEN THEN END,例如:

SELECT field1, 
    CASE field5 
    WHEN 'value1' THEN field5 
    WHEN 'value2' THEN field4 
    ELSE field3 
    END 
FROM table1 

或者

SELECT field1, 
    CASE WHEN field5='value1' THEN field5 ELSE field4 END 
FROM table1 

ELSE部分是可選..

+0

感謝@Kokizzu和simo.379209的即時響應,無論您的建議如何工作。非常感謝! – MrCley 2015-02-11 03:57:04

+1

對不起,刪除了我的評論,因爲我認爲我的語法錯了。無論如何,現在我更有信心。 @Cleyventh有4個字段,都返回field5,所以你可以使用'CASE WHEN field5'('value1','value2','value3','value4')THEN field5 ELSE field6 END' – 2015-02-11 04:24:11

+1

@ simo.379209 does CASE WHEN語句可以嵌套。例如CASE WHEN在CASE WHEN語句中。謝謝! – MrCley 2015-02-11 06:54:16