Удалить '-' из столбца SUM - PullRequest
0 голосов
/ 13 мая 2009

Группа, Мне нужно удалить «-» из любых отрицательных чисел в столбце для определенных номеров записи. Однако сумма должна * на 0,01, чтобы получить правильный формат. Я попытался использовать замену, но это сбрасывается с помощью * .01. Ниже приведен мой синтаксис.

CASE WHEN SUM(ExtPrice) *.01 < 0 AND RecordNum BETWEEN 4000 AND 5999 
        THEN REPLACE(SUM(ExtPrice) *.01,'-','')
     ELSE SUM(ExtPrice) *.01 
END AS Totals

Например, SUM(ExtPrice) *.01 в одном столбце дает мне -5051.32, но когда я использую вышеприведенный оператор case, я получаю 5050, другой пример -312.67, и я получаю 310, используя регистр. Будем очень благодарны за любые предложения или более эффективные способы сделать это.

1 Ответ

9 голосов
/ 13 мая 2009

Вы можете использовать функцию ABS, чтобы получить положительное значение числа. Например:

ABS(-123.445) /* this equals 123.445 */

Таким образом, вы можете заменить свое утверждение CASE следующим:

CASE WHEN SUM(ExtPrice) < 0 AND RecordNum BETWEEN 4000 AND 5999         
         THEN ABS(SUM(ExtPrice) *.01)     
     ELSE SUM(ExtPrice) *.01 
END AS Totals
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...