2017-02-14 6 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)' своим собственным выражением вычисления). Дело в том, что вы хотите использовать знак '+' для строк, что означает * конкатенация *. Без предыдущего 'CAST'' + 'видит число и пытается« добавить »выражение'% ', которое должно сломаться. Поскольку мой ответ решает ваш вопрос на самом деле, было бы неплохо принять и проголосовать за него. Спасибо – Shnugo

Смежные вопросы