用字符替换SQL结果

用字符替换SQL结果,sql,sql-server,grid,processing,Sql,Sql Server,Grid,Processing,我有一个复杂的脚本,它处理200多个单独的案例语句、聚合或字段比较。但是,当返回的数字小于9时,我需要将它们替换为#或*。是否有一种方法可以跨结果执行此操作,或者是否需要将其包含在每个处理部分中?您可以将整个案例语句(或提供结果的任何内容)放在REPLACE函数下 编辑:如果您的输出是数字(或浮点或整数),您可以将整个语句置于一个新的大小写下,如下所示 DECLARE @MYTESTTABLE TABLE(ID INT, PRODUCT NVARCHAR(20), PRICE FLOAT) IN

我有一个复杂的脚本,它处理200多个单独的案例语句、聚合或字段比较。但是,当返回的数字小于9时,我需要将它们替换为#或*。是否有一种方法可以跨结果执行此操作,或者是否需要将其包含在每个处理部分中?

您可以将整个案例语句(或提供结果的任何内容)放在
REPLACE
函数下 编辑:如果您的输出是数字(或浮点或整数),您可以将整个语句置于一个新的大小写下,如下所示

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

你想隐藏机密数据吗?脚本运行的是哪一层?应用程序客户机,或SSMS或其他sql server客户机?不-任何小于该值的数字都是没有意义的。所以,需要隐藏它的样本数据和期望的结果真的会有帮助。我会立即尝试并报告
ID          PRODUCT              PRICE
----------- -------------------- ------------------------------
1           Product 1            #
2           Product 2            15.5
3           Product 3            29.9

(3 rows affected)