Mad*_*ddy 2 sql t-sql sql-server number-formatting
我有以下SQL查询
SELECT MAX(averageSales)
FROM (
SELECT AVG(TotalSale) AS averageSales
FROM [Practice].[dbo].[Sales]
GROUP BY CAST(SalesPerson AS NVARCHAR(100))
) AS Query1;
Run Code Online (Sandbox Code Playgroud)
我得到结果,250
但我想显示结果为250.0000
.我已经查看RIGHT
并LEFT
运行SQL,但还没有弄明白.averageSales的数据类型是int.
我也尝试了以下方法
SELECT
MAX(averageSales),
CAST(MAX(averageSales) AS decimal(4,4))
FROM (
SELECT AVG(TotalSale) AS averageSales
FROM [Practice].[dbo].[Sales]
GROUP BY CAST(SalesPerson AS NVARCHAR(100))
) AS Query1;
Run Code Online (Sandbox Code Playgroud)
但这会导致
将int转换为数据类型numeric的算术溢出错误.
用途FORMAT(..., '#.0000')
:
SELECT FORMAT(MAX(averageSales), '#.0000') FROM
(
SELECT AVG(TotalSale) AS averageSales FROM [Practice].[dbo].[Sales]
GROUP BY CAST(SalesPerson AS NVARCHAR(100))
) AS Query1;
Run Code Online (Sandbox Code Playgroud)