SQL Server整数格式

时间:2009-08-25 14:51:16

标签: sql-server sql-server-2005

我有一个查询某些数据并通过电子邮件发送它的存储过程,我想更改程序,以便数千个中的任何数字都以逗号显示为1,000。我想在SQL中执行此操作的最佳方法是将其转换为字符串并添加逗号?

由于

3 个答案:

答案 0 :(得分:2)

这是相对干净的答案。转换为货币(没有数据类型丢失)。然后转换为样式1的varchar(它为你做逗号),然后从结尾删除.00,因为它带有货币数据类型。

select REPLACE(CONVERT(VARCHAR, CONVERT(MONEY, 1234), 1), '.00', '')

在进行内联函数之前,弄清楚有多少字符串操作是一个很好的界限,但这应该是一个非常快速的转换。

谢谢, 埃里克

答案 1 :(得分:1)

正确。根据数据类型的定义,整数没有格式。

因此,您必须将值转换为字符串(例如varchar),或者更常见的做法是,让表示层处理值的格式。

答案 2 :(得分:0)

如果您使用SQL Server作为电子邮件的演示文稿(没有其他报告应用程序),

SELECT CONVERT(varchar(24),CONVERT(money,CAST( 12345678 AS VarChar(24))),1)