表的当前数据是:转换负数据为正的数据在SQL Server
a b
---------
-1 5
-11 2
-5 32
我的要求是每一个数据转换为正值。
不幸的是,我忘记了可以转换的SQL Server的内置函数的名称。
表的当前数据是:转换负数据为正的数据在SQL Server
a b
---------
-1 5
-11 2
-5 32
我的要求是每一个数据转换为正值。
不幸的是,我忘记了可以转换的SQL Server的内置函数的名称。
您在函数ABS
中思考,它给出了数值数据的绝对值。
SELECT ABS(a) AS AbsoluteA, ABS(b) AS AbsoluteB
FROM YourTable
使用绝对值函数ABS。语法是
ABS (numeric_expression)
UPDATE mytbl
SET a = ABS(a)
where a < 0
最好的解决办法是:从正到负或从负到正
为负:
SELECT ABS(a) * -1 AS AbsoluteA, ABS(b) * -1 AS AbsoluteB
FROM YourTable
对于正:
SELECT ABS(a) AS AbsoluteA, ABS(b) AS AbsoluteB
FROM YourTable
最好的解决方案来自仔细阅读问题。 OP希望一切都不是倒转。 – Jamiec 2013-04-18 10:50:08
同意,但我来到这里找到积极的消极,这种解决方案进入我的脑海,我发布它。如果你注意到我在答案中提到积极的消极和消极的积极。可能对别人有帮助。 – 2013-04-18 13:32:29
现在我认为这是有帮助的:D – 2013-04-18 13:41:34
sql server ... abs函数 – mservidio 2012-03-19 16:26:11
不要介意他们。提供好的问题和良好的答案! – 2013-02-15 11:04:33