用一个字符替换SQL结果

时间:2018-06-06 09:50:42

标签: sql sql-server grid processing

我有一个复杂的脚本,可以处理200多个案例陈述,聚合或字段比较。但是当返回的数字小于9时,我需要用#或*替换它们。有没有办法可以在结果中执行此操作,还是需要将其包含在每个处理部分中?

1 个答案:

答案 0 :(得分:0)

您可以在REPLACE函数下放置整个case语句(或任何提供结果的语句) 编辑:如果您的输出是数字(或浮点数或整数),您可以将整个语句放在一个新的情况下,如下所示

DECLARE @MYTESTTABLE TABLE(ID INT, PRODUCT NVARCHAR(20), PRICE FLOAT)
INSERT INTO @MYTESTTABLE VALUES
(1, 'Product 1', 5.25),
(2, 'Product 2', 15.50),
(3, 'Product 3', 29.90)

SELECT  ID,
        PRODUCT,
        CASE WHEN PRICE < 9 THEN '#' ELSE CONVERT(NVARCHAR, PRICE) END AS PRICE
FROM @MYTESTTABLE

输出:

ID          PRODUCT              PRICE
----------- -------------------- ------------------------------
1           Product 1            #
2           Product 2            15.5
3           Product 3            29.9

(3 rows affected)