我有一個查詢比較使用CTE的幾周之間的數據。它存儲的一件事是百分比數據。我正在嘗試轉換或轉換任何等於100.00的值。當找到特定值時將十進制數字轉換爲整數
例如,這裏是結果將是什麼樣子
Name Percentage Other
App1 99.56 5.5
App2 100.00 6
我希望能去除零的從100.我已經嘗試了一些情況報表,但我從來沒有我期待的結果。這是我現在擁有的。
SELECT
f.Application,
f.Percentage,
f.Other,
CASE
WHEN f.Percentage = 100.00
THEN 100
END AS Percentage
FROM Table1 f
目前,100.00的值被更改爲100.但是,所有不等於100.00的值都被清除。我可以通過加入
ELSE f.Percentage
但是然後100.00不會改變。
任何幫助,將不勝感激。
一個SQL字段/列不能包含多種數據類型,這意味着你不能有一個帶有'float/decimal'值的記錄,另一個記錄'int'。據我所知(儘管這個網站上有很多人比我在SQL中更具可操作性),但是一個字符串型(例如'nvarchar')能夠處理十進制和整數值,儘管你的數據會那麼當然,它會作爲字符串值返回。 – Santi
什麼是使用此查詢?爲什麼額外的'.00'問題?這聽起來像你可以(應該)在顯示代碼中處理的東西。 – Blorgbeard
您正在使用Formatting輸出字符串混淆CAST-ing數據類型。你需要更晚。列必須始終具有相同的數據類型,它不能在一行中具有一個數據類型,在下一行中不能具有不同的數據類型。 – RBarryYoung