【问题标题】:Add a negative symbol to a numeric value为数值添加负号
【发布时间】:2017-03-07 21:27:43
【问题描述】:

使用 SQL 2014,我需要在数值列表中附加一个负号。数据是美元金额,小数点后有很多位。我确实将数据转换为数字(15, 2)

这是我的选择语句。

SELECT '-' + convert(15,2), MONEY from TABLE

我收到错误:将 varchar 转换为数字数据类型的算术溢出错误。

我也尝试转换为 varchar。

select '-' + CONVERT(varchar10), (convert(numeric(15, 2), MONEY)) from
TABLE

我得到与上述相同的错误。任何想法如何做到这一点?

【问题讨论】:

  • 为什么不存储一个负数?
  • 你的语法没有意义。
  • 正如发布的那样,您的查询不会返回该错误,因为整个地方的语法都非常错误。这可能是您开始的好地方。 spaghettidba.com/2015/04/24/…

标签: sql sql-server numeric varchar negative-number


【解决方案1】:

改为乘以 -1 怎么样?像这样的:

SELECT -1 * convert(MONEY, 15.2) from TABLE

您的语法不正确。我猜你想要类似上面的东西。

或从 0 中减去。

【讨论】:

    【解决方案2】:
    SELECT -convert(MONEY, 15.2) from TABLE
    

    【讨论】:

      【解决方案3】:

      为什么不试试 Cast Function

      SELECT -1 * CAST(MONEY  as Numeric(15.2)) from TABLE
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-04
        • 1970-01-01
        • 2020-06-09
        • 2021-05-14
        • 1970-01-01
        相关资源
        最近更新 更多