【发布时间】:2016-10-09 01:51:00
【问题描述】:
我们有一个表,我们在其中使用列来存储商品的价格。列大小为十进制 17.2。我们需要在字符串中同时包含千位分隔符和小数分隔符。我们目前正在使用这个:
SELECT '$' + convert(varchar,cast('2123232322323.21' as money),-1) as Price
但如果大小超过 15 位,则会引发错误。
【问题讨论】:
-
试试这个 SELECT '$' + convert(varchar,cast('212323232232123.21' as money),-1) as Price
-
为什么不把格式留给前端呢?如果您需要以欧元显示价格怎么办?或者如果你想在前端排序?
-
@JamesZ 我认为 op 想要添加千位和小数分隔符
-
您说如果大小超过 15 位会引发错误。这是正常的,因为根据money and smallmoney (Transact-SQL),MONEY 类型的限制是
-922,337,203,685,477.5808到922,337,203,685,477.5807
标签: sql sql-server sql-server-2005