Заменить результаты SQL на характер - PullRequest
0 голосов
/ 06 июня 2018

У меня есть сложный скрипт, который обрабатывает более 200 отдельных операторов, агрегатов или полевых сравнений.Однако, когда возвращаются числа, которые меньше 9, мне нужно заменить их на # или *.Есть ли способ, которым я могу сделать это по результатам, или это нужно будет включить в каждую часть обработки?

1 Ответ

0 голосов
/ 06 июня 2018

вы можете поместить весь оператор case (или любой другой, который предоставляет ваш результат) в REPLACE функцию EDIT: если ваш вывод числовой (или число с плавающей запятой или целое число), вы можете поместить весь оператор в новый регистр, что-то вроде ниже

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)
...