2012-03-19 51 views
34

表的當前數據是:轉換負數據爲正的數據在SQL Server

a b 
--------- 
-1 5 
-11 2 
-5 32 

我的要求是每一個數據轉換爲正值。

不幸的是,我忘記了可以轉換的SQL Server的內置函數的名稱。

+2

sql server ... abs函數 – mservidio 2012-03-19 16:26:11

+1

不要介意他們。提供好的問題和良好的答案! – 2013-02-15 11:04:33

回答

72

您在函數ABS中思考,它給出了數值數據的絕對值。

SELECT ABS(a) AS AbsoluteA, ABS(b) AS AbsoluteB 
FROM YourTable 
6

使用絕對值函數ABS。語法是

ABS (numeric_expression) 
6
UPDATE mytbl 
SET a = ABS(a) 
where a < 0 
16

最好的解決辦法是:從正到負或從負到正

爲負:

SELECT ABS(a) * -1 AS AbsoluteA, ABS(b) * -1 AS AbsoluteB 
FROM YourTable 

對於正:

SELECT ABS(a) AS AbsoluteA, ABS(b) AS AbsoluteB 
FROM YourTable 
+0

最好的解決方案來自仔細閱讀問題。 OP希望一切都不是倒轉。 – Jamiec 2013-04-18 10:50:08

+0

同意,但我來到這裏找到積極的消極,這種解決方案進入我的腦海,我發佈它。如果你注意到我在答案中提到積極的消極和消極的積極。可能對別人有幫助。 – 2013-04-18 13:32:29

+0

現在我認爲這是有幫助的:D – 2013-04-18 13:41:34

相關問題