如何将0添加到一个int
How to add 0's to an int
我有以下 SQL 查询
SELECT MAX(averageSales)
FROM (
SELECT AVG(TotalSale) AS averageSales
FROM [Practice].[dbo].[Sales]
GROUP BY CAST(SalesPerson AS NVARCHAR(100))
) AS Query1;
我得到的结果为 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;
但这会导致
Arithmetic overflow error converting int to data type 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;
使用 CAST
和 DECIMAL
而不是 NVARCHAR
GROUP BY CAST(SalesPerson as DECIMAL(8,4))
我有以下 SQL 查询
SELECT MAX(averageSales)
FROM (
SELECT AVG(TotalSale) AS averageSales
FROM [Practice].[dbo].[Sales]
GROUP BY CAST(SalesPerson AS NVARCHAR(100))
) AS Query1;
我得到的结果为 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;
但这会导致
Arithmetic overflow error converting int to data type 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;
使用 CAST
和 DECIMAL
而不是 NVARCHAR
GROUP BY CAST(SalesPerson as DECIMAL(8,4))