Добавить строку в конец выражения IsNull - PullRequest
0 голосов
/ 03 января 2019

Я хотел бы добавить символ делителя (%) в конец моего выражения, показанного здесь:

select 'On-Site Case Rate' Exp1,
isnull(sum(onsite.a) * 100 / count(onsite.casecount), 0) '400',
isnull(sum(onsite.b) * 100 / count(onsite.casecount), 0) '401'
from onsite

Как бы я поступил так?Нужно ли использовать concat и переформатировать мой запрос, или можно вставить куда-нибудь "+ '%'" +?

Вот пример результата, это для отчета SSRS

enter image description here

РЕДАКТИРОВАТЬ1: Вот также представление дизайна моего отчета

Design view

Ответы [ 2 ]

0 голосов
/ 03 января 2019

Учитывая, что вы используете SSRS, не пытайтесь добавить знак% в конце вашего процента и преобразовать его в varchar, оставьте его как decimal.Вместо этого измените формат отображения.

Выберите ячейки, которые возвращают ваши проценты, и нажмите F4 .Затем в целевой области свойств найдите свойство Format и измените его на 0%.Если вы хотите, чтобы он отображал 1 (или более) десятичных разрядов, тогда используйте 0.0%, 0.00%, ... вы поняли.

Обратите внимание, что вам нужно убедиться, что ваши значения возвращают десятичное числозначение.Вы умножаете свои значения на 100, а это значит, что это не так.15 не 15%, это 1500%.15% = 0.15.

0 голосов
/ 03 января 2019

В Sql Server (начиная с версии 2012) вы можете использовать функцию CONCAT :

select 'On-Site Case Rate' Exp1,
CONCAT(isnull(sum(onsite.a) * 100 / count(onsite.casecount), 0), '%') '400',
CONCAT(isnull(sum(onsite.b) * 100 / count(onsite.casecount), 0), '%') '401'
from onsite
...