Мне нужно некоторое руководство с динамическим поворотом в SQL SEVER 2012. Я смог успешно свернуть данные так, как хотел, но в конечном выпуске я вижу NULL
,Преобразование NULL в пустую строку в SQL SERVER 2012
Цель
Я хотел бы, чтобы эти NULL
значения вместо показаны как пробелы.
Ниже приведен пример того, что мое выглядит в финале.
=========================================================
Week Type kawasaki Aston Martin
=========================================================
52 Two Wheel 2 NULL
52 Four Wheel NULL 10
Первая попытка Код
Мой главный набор данных в таблице #temp я использую для динамического процесса поворота. Кавасаки и Астон Мартин - «Модель».
DECLARE @DynamicPivotQuery AS NVARCHAR(MAX)
DECLARE @ColumnName AS NVARCHAR(MAX)
--Get distinct values of the PIVOT Column
SELECT @ColumnName=ISNULL(@ColumnName + ',','')
+ QUOTENAME(Model)
FROM (SELECT DISTINCT Model FROM #Temp) AS Courses
--Prepare the PIVOT query using the dynamic
SET @DynamicPivotQuery =
N'SELECT Week,Type,' + @ColumnName + '
FROM (Select Sold,Week,Type,Model from #temp) src
PIVOT(
SUM(ISNULL(Sold),0)
FOR Model IN (' + @ColumnName + ')) AS PVT'
--Execute the Dynamic Pivot Query
EXECUTE sp_executesql @DynamicPivotQuery;
С выше коде, я сделал первую наивную попытку, используя ISNULL
в моем SUM
агрегат, который не работает.
Вопрос в том, как я могу преобразовать NULL
в пробелы?
Возможно, этот вопрос может помочь другим людям в моей ситуации, как преобразовать NULL
в 0 (Zero)?
Заключительный пример вывода:
=========================================================
Week Type kawasaki Aston Martin
=========================================================
52 Two Wheel 2 Blank
52 Four Wheel Blank 10
Ваша помощь будет очень высокую оценку.
Попробуйте использовать 'REPLACE' или' CASE'. –
Попробуйте использовать [COALESCE] (https://msdn.microsoft.com/en-au/library/ms190349.aspx). SUM (COALESCE (продано, 0)) –
Это проблема с презентацией, которая лучше обрабатывается инструментом отчетности. выводит ли вывод непосредственно конечному пользователю? есть ли уровень представления? – Paolo