代码之家  ›  专栏  ›  技术社区  ›  Gavin

SQL Server整数格式

  •  0
  • Gavin  · 技术社区  · 17 年前

    我有一个存储过程,它查询一些数据并通过电子邮件发送,我想更改这个过程,使数千个数字中的任何数字都能用逗号(如1000)显示出来。我想在SQL中实现这一点的最好方法是将其转换为字符串并添加逗号?

    谢谢

    3 回复  |  直到 17 年前
        1
  •  2
  •   Anon246    17 年前

    这里有一个 相当地 干净的回答。转换为货币(不丢失数据类型)。然后用样式1转换为varchar(它为您做逗号),然后从末尾删除.00,因为它带有money数据类型。

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

    在执行一个内联函数之前,要想知道有多少字符串操作是很好的一行,但这应该是一个相当快的转换。

    谢谢, 埃里克

        2
  •  1
  •   John Sansom    17 年前

    对的。整数没有数据类型定义的格式。

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

        3
  •  0
  •   JeffO    17 年前

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

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