我正在使用SQL Server,并试图弄清楚如何使select语句输出一个用逗号分隔的数字。我只能找到如何用逗号将数字转换为数字,这不是我想要的。下面的代码是我试图用逗号输出的代码。现在,当您执行该语句时,它返回值750000.00,我希望它返回750,000.00。
代码:
select max(c.salary) as MaxSalary
from #Career c inner join
#Member m
on c.Member_ID = m.Member_ID
where m.age < 35
答案 0 :(得分:2)
您可以将FORMAT()
用于SQL Server 2012及更高版本
select FORMAT(750000.00, 'N', 'en-us') AS 'Numeric Format'
declare @table table(salary decimal(16,4))
insert into @table
values
(1234.00),
(64423.55)
select FORMAT(sum(salary), 'N', 'en-us') AS 'Numeric Format'
from @table
--or using your tables
select FORMAT(max(c.salary), 'N', 'en-us') AS 'Numeric Format'
from #Career c inner join
#Member m
on c.Member_ID = m.Member_ID
where m.age < 35
答案 1 :(得分:1)
这可能是一种老式的方式,但转换为金钱然后转换为varchar是传统的方法:
select convert(varchar(255), convert(money, max(salary)), 1) as MaxSalary
答案 2 :(得分:0)
如果数据集最小,可以使用格式
select format(75000.00, 'N')
你可以这样做:
select Format(max(c.salary),'N') as MaxSalary
from #Career c inner join
#Member m
on c.Member_ID = m.Member_ID
where m.age < 35
答案 3 :(得分:0)
假设SQL Server 2012 +,以下内容可以满足您的需求:
SELECT FORMAT([COLUMN], 'N#')
其中#是小数位数。将N0设为0,N2设为2,等等。
SQL Server 2008 R2:
SELECT REPLACE(CONVERT(varchar(20), (CAST([COLUMN] AS MONEY)), 1), '.00', '')