Форматировать результат столбца с% char в SQL Server - PullRequest
0 голосов
/ 21 января 2020

У меня есть следующий код SQL, который использует функцию задержки.

SELECT SalesAmount
    ,lag(SalesAmount) OVER (
        ORDER BY DATE
        ) AS PreviousDaylSales
    ,(
        SalesAmount - (
            lag(SalesAmount) OVER (
                ORDER BY DATE
                )
            )
        ) AS Difference
    ,(
        SalesAmount - (
            lag(SalesAmount) OVER (
                ORDER BY DATE
                )
            )
        ) / (
        lag(SalesAmount) OVER (
            ORDER BY DATE
            )
        ) * 100 AS PercentChange
FROM Sheet1$

Можно ли отформатировать значения столбца псевдонима PercentChange с использованием% char?

Ответы [ 2 ]

1 голос
/ 21 января 2020

Да, вы можете использовать квадратную скобку []:

select . . . as [%Change]
from Sheet1$;

Вы можете использовать подзапрос, чтобы избежать повторения одного и того же выражения:

SELECT t.*, (SalesAmount - PreviousDaylSales) AS AS Difference,
       CONCAT('%', SalesAmount - PreviousDaylSales / PreviousDaylSales * 100) AS [%Change]
FROM (SELECT SalesAmount, lag(SalesAmount) OVER (ORDER BY DATE) AS PreviousDaylSales
      FROM Sheet1$
     ) t;
0 голосов
/ 21 января 2020

Вы можете использовать функцию CONCAT .

select ...
CONCAT(...*100, '%') as PercentChange
    from Sheet1$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...