AmountPaid отображается с $ перед ним, если оно не равно NULL
Следующий запрос добавит $
вперед, если сумма не равна нулю. Для значений NULL он вернет AmoutPaid как пустое со знаком out $
.
SELECT Id,
IIF(CONCAT('', AmountPaid) <> '', CONCAT('$ ', AmountPaid), '') AS AmountPaid
FROM Testtable
В случае, если вы хотите 0.0
вместо пустого значения, используйте
IIF(CONCAT('', AmountPaid) <> '', CONCAT('$ ', AmountPaid), '0.0') AS AmountPaid
Демо с примерами данных:
DECLARE @Testtable TABLE (Id int, AmountPaid DECIMAL (9,2));
INSERT INTO @Testtable (Id, AmountPaid) VALUES
(1, 38.89), (2, NULL), (3, 14.2), (4, NULL);
SELECT Id,
IIF(CONCAT('', AmountPaid) <> '', CONCAT('$ ', AmountPaid), '') AS AmountPaid
FROM @Testtable
Выход:
Id AmountPaid
--------------
1 $ 38.89
2
3 $ 14.20
4
Демонстрация на дБ <> скрипка с данными выборки