2017-06-28 37 views
1

我試圖在CASE語句中使用不同的代數表達式(+, - ,*,/),但我遇到了一些麻煩。在SQL中使用代數與CASE語句

基本上語法是,如果使用的貨幣爲GBP(小p表明便士)我希望它由100以致變得GBP(即便士成英鎊)相乘

這是我的查詢。我想我錯過了一些簡單的東西!


select Currency, FXrate 
case 
    when Currency = 'GBp' 
    then FXrate = FXrate * 100 
    end 
from FXdatabase 
+0

什麼你得到的,而不是=沒有ü嘗試使用類似操作的錯誤? –

+1

樣本數據和期望的結果真的有幫助。 –

+0

您能否提供您迄今爲止所做的語法請 –

回答

2

想必,你想是這樣的:

select Currency, 
     (case when Currency = 'GBp' then FXrate * 100 else FXrate 
     end) as FXrate 
from FXdatabase; 
+1

我發佈了幾乎相同的答案(除了'else'部分),並且因爲我是第二個,我刪除了我的並將其提升了。 –

+1

Hello Gordan,感謝您的快速回復!我更新了我的查詢(基本上覆制並粘貼你的),並且出現以下錯誤:「'='附近的語法錯誤。」 我需要另一個表達式嗎? –

+2

您希望從case語句中失去'FXrate ='。 –