Номер формата в процентах в MS SQL Server

Я пытаюсь просто отформатировать число в процентах с двумя десятичными знаками. Если это 37 делится на 38 (ака .973684210526315789), я хотел бы, чтобы он показывал 97.36% в выходных данных SQL. Я знаю, что рекомендуется делать форматирование в приложении, однако это для автоматического экспорта. Это использование SQL Server 2008.

вот что у меня есть сейчас:

select CONVERT(VARCHAR(50),cast(37 as decimal)/cast(38 as decimal)*100)+' %' AS [%]

Если бы вы могли объяснить, каковы различные параметры, а также в любой функции, которая была бы полезный.

4 ответов


ответ М. Али может быть изменен как

select Cast(Cast((37.0/38.0)*100 as decimal(18,2)) as varchar(5)) + ' %' as Percentage

на SQL Server 2012 и потом, есть FORMAT()


SELECT cast( cast(round(37.0/38.0,2) AS DECIMAL(18,2)) as varchar(100)) + ' %'

RESULT:  0.97 %

и для всех версий SQL Server

SELECT CAST(0.973684210526315789 * 100 AS DECIMAL(18, 2))