✅ Azure 串流分析 ✅ 網狀架構事件串流
如果兩個指定的表達式相等,則傳回 Null 值。 例如, SELECT NULLIF(4,4) AS Same, NULLIF(5,7) AS Different ... 傳回 NULL 第一個數據行 (4 和 4),因為兩個輸入值都相同。 第二個數據行會傳回第一個值 (5),因為兩個輸入值不同。
NULLIF 相當於搜尋的 CASE 運算式,其中兩個表達式相等,而產生的運算式為 NULL。
語法
NULLIF ( expression , expression )
論點
表示式
任意類型的運算式。
傳回型別
傳回與第一個表達式相同的型別。
NULLIF 如果兩個表達式不相等,則傳回第一個表達式。 如果表達式相等, NULLIF 則傳回第一個表達式類型的 Null 值。
範例
只有在變更值時才會投影值:
SELECT
sensorId,
reading,
NULLIF(
LAG(reading) OVER (PARTITION BY sensorId LIMIT DURATION(hour, 1)),
reading
) AS previous_reading_if_changed
FROM input