在检查值 [isnull] 后需要连接到字段值
Need to concatenate to a field value, after checking if value [isnull]
我有一个存储过程,我从 table 中提取数据。该字段中的值可以是 NULL 或数字值(例如:15)。
我希望用 $
显示这个值,但是我发现这样做有点困难,因为我正在检查字段值 isnull
,如果它是,我将值设置为 0.0
。这是它的样子。
''Amount Paid''= isnull(tbl_A.AmountPaid,''0.0'')
是否有其他方法可以做到这一点,如果 tbl_A.AmountPaid 不为 NULL,则在其前面显示 $?
样本数据:93.39
一旦检查该值不为 NULL
,我想将其显示为 $ 93.39
您可以使用类似下面的内容在金额前添加 $ 符号。这样,如果值存在或为 NULL,$ 符号将显示这两种情况。
SELECT '$ '+CAST(ISNULL(tbl_A.AmountPaid,0.0) AS VARCHAR)
使用串联:
coalesce(concat('$', tbl_A.AmountPaid), '0.0')
如果您想要 [=13=].0
,则:
coalesce(concat('$', tbl_A.AmountPaid), '[=11=].0')
或:
concat('$', coalesce(tbl_A.AmountPaid, 0))
AmountPaid is displayed with $ in front of it if it isn't NULL
如果金额不为空,以下查询将在前面添加 $
。对于 NULL 值,它将 return AmoutPaid 为空,没有 $
符号。
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
我有一个存储过程,我从 table 中提取数据。该字段中的值可以是 NULL 或数字值(例如:15)。
我希望用 $
显示这个值,但是我发现这样做有点困难,因为我正在检查字段值 isnull
,如果它是,我将值设置为 0.0
。这是它的样子。
''Amount Paid''= isnull(tbl_A.AmountPaid,''0.0'')
是否有其他方法可以做到这一点,如果 tbl_A.AmountPaid 不为 NULL,则在其前面显示 $?
样本数据:93.39
一旦检查该值不为 NULL
$ 93.39
您可以使用类似下面的内容在金额前添加 $ 符号。这样,如果值存在或为 NULL,$ 符号将显示这两种情况。
SELECT '$ '+CAST(ISNULL(tbl_A.AmountPaid,0.0) AS VARCHAR)
使用串联:
coalesce(concat('$', tbl_A.AmountPaid), '0.0')
如果您想要 [=13=].0
,则:
coalesce(concat('$', tbl_A.AmountPaid), '[=11=].0')
或:
concat('$', coalesce(tbl_A.AmountPaid, 0))
AmountPaid is displayed with $ in front of it if it isn't NULL
如果金额不为空,以下查询将在前面添加 $
。对于 NULL 值,它将 return AmoutPaid 为空,没有 $
符号。
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