我有这个查询
SELECT CONVERT(VARCHAR(20),(((currentytd - PreviousYTD) / PreviousYTD) * 100)) + '%' as ytdGrowth from ytd
它正在回归: 11.224300%
我想回复: 11.22%
我是一个非常新的SQL,所以试图找到完成此任务的正确方法。
答案 0 :(得分:1)
SELECT CONVERT(VARCHAR(20),round((((currentytd - PreviousYTD) / PreviousYTD) * 100),2)) + '%' as ytdGrowth from ytd
只需将round(X,2)
添加到您的查询
答案 1 :(得分:1)
首先以decimal
精度(18,2)转换为2
,然后nvarchar
SELECT CONVERT(VARCHAR(20),CONVERT(decimal(18,2),(((currentytd - PreviousYTD) / PreviousYTD) * 100)) ) + '%' AS ytdGrowth
from ytd
答案 2 :(得分:0)
您可能会发现str()
有用:
SELECT str( ((currentytd - PreviousYTD) / PreviousYTD) * 100.0, 5, 2) + '%' as ytdGrowth
from ytd
答案 3 :(得分:0)
使用小数时,我个人更喜欢CAST
CAST (value as DECIMAL (9,2))
9表示字符总数,2表示小数点后的字符数