[sql] Convert negative data into positive data in SQL Server

The current data of the table is:

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

My request is to convert every data into a positive value.

Unfortunately, I forgot the name of the built-in function of SQL Server that enables to convert.

This question is related to sql sql-server

The answer is


UPDATE mytbl
SET a = ABS(a)
where a < 0

The best solution is: from positive to negative or from negative to positive

For negative:

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

For positive:

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

Use the absolute value function ABS. The syntax is

ABS ( numeric_expression )

An easy and straightforward solution using the CASE function:

SELECT CASE WHEN ( a > 0 ) THEN (a*-1) ELSE (a*-1) END AS NegativeA,
       CASE WHEN ( b > 0 ) THEN (b*-1) ELSE (b*-1) END AS PositiveB
FROM YourTableName