![](/img/trans.png)
[英]Using Round/Ceiling/Floor function with IIF in SSRS expression
[英]SQL using Floor to round down
我是SQL的新手,正嘗試使用Floor函數進行四舍五入,但是我收到一條消息,提示該函數需要1個參數。 我沒有看到這個問題,可能是我很想念的很簡單的事情。 任何幫助將不勝感激。
,(Floor(
CASE
WHEN ret2 <> 0 OR originalretail <> 0
THEN CASE
WHEN ret2 > 0
THEN (ret2-retone)/ret2
WHEN originalretail > 0
THEN (originalretail-retone)/originalretail
ELSE NULL
END
END
,2) * 100 AS [Savings %]
我將Round換為Floor,因為它可以工作,但是如果我將Round換為Floor功能,則會收到錯誤消息。 我將更新代碼
因為floor需要1個參數,並且您要傳入2個,所以嵌套的大小寫和數字2也要輸入。在開頭也有一個流氓的開放括號...
,(round(
--First Argument
CASE
WHEN ret2 <> 0 OR originalretail <> 0
THEN CASE
WHEN ret2 > 0
THEN (ret2-retone)/ret2
WHEN originalretail > 0
THEN (originalretail-retone)/originalretail
ELSE NULL
END
END
--second...
,2) * 100 AS [Savings %]
要解決此問題,請刪除逗號和2及前導括號。
,floor(
CASE
WHEN ret2 <> 0 OR originalretail <> 0
THEN CASE
WHEN ret2 > 0
THEN (ret2-retone)/ret2
WHEN originalretail > 0
THEN (originalretail-retone)/originalretail
ELSE NULL
END
END
) * 100 AS [Savings %]
另外,如果您的列是整數,則將獲得整數除法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.