0
如何刪除零並將它們替換爲空值,因爲它們實際上不是零值?Pivot with datediff
我的工作數據
id class startdate enddate
1 High 1/1/15 2/1/15
1 Low 5/1/15 6/1/15
1 Mid 6/1/15 6/10/15
2 Mid-low 6/1/15 6/10/15
我下面
select y.id, y.startdate, y.enddate, ISNULL(y.High,'') AS HIGH, ISNULL(y.MID,'') AS MID, ISNULL(y.LOW,'') AS LOW, ISNULL(y.Mid-low,'') AS Mid-low,
from
(
select id, class, datediff(day, startDate, endDate) as days
from @test
) x
pivot
(
max(days) for class in (high, low, med)
) y
這將返回下面
id High Mid low Mid-low
1 30 9 30 0
2 0 0 0 30
但是,請注意,NULLIF()不會區分實際爲零的數字和與NULL相加的數字。所有的零都將顯示爲NULL。 –
@TabAlleman對,我有零實際爲零的情況。有沒有解決的辦法? –
@TabAlleman我必須在這裏失去一些東西...這個總結在哪裏呢?我在他的PIVOT查詢中看不到'SUM()',只有'MAX()'。 –