money moneda funcion formato fecha sql-server tsql percentage

sql-server - moneda - sql server date to string format



NĂºmero de formato como porcentaje en MS SQL Server (4)

En SQL Server 2012 y versiones posteriores, está la función FORMAT() . Puedes pasarle un parámetro ''P'' por porcentaje. Por ejemplo:

SELECT FORMAT((37.0/38.0),''P'') as [Percentage] -- 97.37 %

Para admitir el porcentaje de precisión decimal , puede usar P0 para no decimales (números enteros) o P3 para 3 decimales (97.368%).

SELECT FORMAT((37.0/38.0),''P0'') as [WholeNumberPercentage] -- 97 % SELECT FORMAT((37.0/38.0),''P3'') as [ThreeDecimalsPercentage] -- 97.368 %

Estoy tratando de simplemente dar formato a un número como un porcentaje con dos decimales. Si es 37 dividido por 38 (también conocido como .973684210526315789), me gustaría mostrar 97.36% en la salida de SQL. Sé que se recomienda realizar el formateo en la Aplicación, sin embargo, esto es para una exportación automatizada. Esto está utilizando SQL Server 2008.

Aquí está lo que tengo ahora:

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

Si pudiera explicar cuáles son los distintos parámetros también en cualquier función que sería útil.


La respuesta de M.Ali podría ser modificada como

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


Y para todas las versiones de SQL Server.

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


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