sql - 在 SQL 中显示带有加号 (+) 的肯定结果

我有以下疑问:

    SELECT 
      CONVERT(DECIMAL(11,1),SUM(Column/1000*-1)) AS NAME,
    FROM
      Table

我有“/1000*-1”的原因是我希望结果以千为单位显示并反转(负值表示正数,反之亦然),只有一位小数。

我怎样才能让正值前面有一个加号 (+),就像负值有一个破折号 (-) 一样?

最佳答案

您可以在 FORMAT 中使用 分号分隔 多部分字符串。 函数(有点像 Microsoft Excel 中的自定义数字格式)。

A number format can have up to three sections of formatting code, separated by semicolons. These code sections define the format for positive numbers, negative numbers, and zero values, in that order:

<POSITIVE>;<NEGATIVE>;<ZERO>

example:

FORMAT(@YourValue,'+0.0;-0.0')

(Adapted from this)


我通常在显示 +/- 时也隐藏零符号,所以我使用格式化字符串: '+0;-0;'''

SELECT FORMAT(+5,'+0;-0;''') --returns: +5
SELECT FORMAT(-5,'+0;-0;''') --returns: -5
SELECT FORMAT(-5,'+0;-0;''') --returns: <empty string>


要显示零,您可以使用格式化字符串: '+0;-0;0'


适用于:tsql , azure-sql-database , sql-server-2012 , sql-server-2014 , sql-server-2016


更多信息:

  • 微软文档: FORMAT (Transact-SQL)
  • 微软文档:Formatting Types
    (文档适用于 .net,但也适用于 FORMAT 函数)
  • 微软文档: SIGN (Transact-SQL)

https://stackoverflow.com/questions/10795990/

相关文章:

sql - 计算组百分比到小数点后 2 位 - SQL

c# - 在 RichTextBox 中格式化单词

wpf - 格式化 WPF Listview 列以仅显示 2 个小数点。

excel - 如何将 Excel 2010 中的条件格式复制到基于其他单元格内容的其他单元格?

java - 如何将日期格式化为大写?

objective-c - 你如何调整 Xcode 的 Objective C 参数的自动缩进?

text - 如何在 SublimeText 3 中添加具有固定长度和预定义数字的前导零

wpf - 如何在 wpf 中计算 FormattedText 或 GlyphRun 的 'Size

javascript - 基于 JavaScript/jQuery 中的格式字符串格式化数字

ruby - 在 ERB 模板中转义换行符/行尾