2017-02-14 94 views
1

我需要在Var上插入%符號。上月
我試圖在SQL服務器中插入百分比符號

  • + '%'
  • Char37
  • & '%'

所有給我的錯誤信息。

CAST(CASE WHEN ISNULL(MonthCost.LastCost, 0) <> 0 THEN (NowCost.LastCost - MonthCost.LastCost)/MonthCost.LastCost ELSE 0 END * 100 AS Numeric(10, 2)) AS [Var. On Month] 

感謝您的任何建議

+1

你是如何嘗試這些不同的選擇?如果您收到錯誤消息,請分享消息文本。 – HoneyBadger

+0

可能是這將有所幫助.. http://stackoverflow.com/questions/17300683/insert-character-into-sql-string – Dayz

回答

1

必須第一投你的數值轉換成字符串類型比你可以使用+進行連結:

SELECT CAST((100.0/25) AS VARCHAR(100)) + '%' 
0

我弄明白了SQL查詢應該看起來像這樣以使其工作

CAST(CAST(CASE WHEN ISNULL(MonthCost.LastCost, 0) <> 0 THEN (NowCost.LastCost - MonthCost.LastCost)/MonthCost.LastCost ELSE 0 END * 100 AS Numeric(10, 2)) AS Varcahr(50)) + '%' AS [Var. On Month] 
+0

嗨史蒂夫,太棒了,你找到了解決方案!這與你在我的答案中找到的完全一樣(只需用你自己的計算表達式替換'(100.0/25)')。問題是,你想在字符串上使用'+'符號,這意味着* concatenation *。如果沒有之前的CAST,那麼+會看到一個數字並試圖添加必須破解的表達式%。由於我的回答實際上解決了您的問題,因此接受並對其進行投票將會很好。謝謝 – Shnugo