向数值添加负号

Add a negative symbol to a numeric value

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

这是我的select声明。

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

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

我也尝试过转换为 varchar。

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

我得到了和上面一样的错误。有什么想法可以实现吗?

乘以 -1 怎么样?像这样:

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

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

或从 0 中减去。

SELECT -convert(MONEY, 15.2) from TABLE

为什么不尝试 Cast Function

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