SQL Заменить минус число скобками - PullRequest
0 голосов
/ 16 января 2019

У меня есть столбец финансовых данных, который показывает. Некоторые цифры положительные, а некоторые отрицательные.

Можно ли изменить число, например -945, на (945), это на SQL Server 2005.

Ответы [ 3 ]

0 голосов
/ 16 января 2019

Следующее выражение должно работать в большинстве случаев:

SELECT num, CASE
    WHEN num < 0 THEN '(' + CAST(-num AS VARCHAR(11)) + ')'
    ELSE CAST(num AS VARCHAR(11))
END AS frmtd
FROM (
    SELECT    0 AS num UNION ALL
    SELECT  945        UNION ALL
    SELECT -945
) tests
0 голосов
/ 16 января 2019

Вы также можете попробовать использовать функцию Replace в Sql Server, как показано ниже.

Когда значение находится в (-) ве.

Select CAST(REPLACE(CAST(-945 as Varchar(4)), '-', '') as Int)

Когда значение уже в (+) ве.

Select CAST(REPLACE(CAST(945 as Varchar(4)), '-', '') as Int)

Выход в обоих случаях будет: 945

0 голосов
/ 16 января 2019

Существует функция SQL под названием ABS(), которая в основном заменяет отрицательные и положительные числа на их относительное значение, равное 0, что означает удаление минуса, но не влияет на положительные значения.

Подробнее об этом можно узнать здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...