2017-02-14 97 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