我需要一些有关sql转换的帮助。这是我一直在提供查询的一部分:将数字格式化为包含分隔符的货币值
'$' + replace(cast((CAST(p.Price1 AS decimal(10,2)) * cast(isnull(p.Multiplier,1) as decimal(10,2))) as varchar), '.0000', '')
基本上,它最终是一个varchar,看起来像这样:$26980
我需要在一千万元大关插入一个逗号(如果适用)。所以在这种情况下,$26,980
什么是最简单的方法来做到这一点,而不必重写整个事情?
你为什么要在服务器端执行此操作?在你的应用程序中执行这种格式会容易得多。 – Taryn
东西http://msdn.microsoft.com/en-us/library/ms188043.aspx – Paparazzi
无论如何,如果(当?)必须支持欧洲或亚洲的货币时,您必须重新编写它,格式化规则完全不同。正如bluefeet所建议的那样,最好在客户端应用程序中执行此操作,您可以简单地使用现有的本地化功能而不是自己执行此操作(C#格式化可以[执行此操作](http://msdn.microsoft.com例如)/en-us/library/dwhawy9k(v=vs.100).aspx)。 – Pondlife