【发布时间】:2021-06-14 14:51:25
【问题描述】:
我正在尝试用小数点后一位数字的 +/- 符号来格式化十进制数。我正在使用以下查询
select FORMAT(-0.034, '+0.0;-0.0')
我在输出中得到 +0.0 而不是 -0.0
【问题讨论】:
-
因为
0既没有正值也没有负值。所以它违背了积极的格式。如果您希望0有一个负号,请使用'+0.0;-0.0;-0.0' -
感谢@Larnu 花时间回答我的问题。这就是我想要的。我需要这种格式,因为我只是想将多个十进制数连接到简写法并在一列中查看所有这些数字,并希望在 SQL Server Management Studio 结果网格中查看。
-
然而,真正的问题是,为什么你希望你的数值是
varchar?格式化应该在表示层完成,而不是在数据库层。 -
@Larnu 不严格正确。在 IEEE754 中,您可以有一个负 0,大多数二进制十进制格式也允许它。我不认为 SQL Server 会...
-
@Charlieface 这是一个关于 SQL Server 的问题,而不是其他一些 RDBMS。
标签: sql sql-server tsql number-formatting