0
我目前使用的是postgres 9.1,我試圖更新一個表來將不正確的值設置爲null。特別是我希望將所有觀察值都設置爲兩個觀測值之間的月數不等於NULL,因爲我之前對「變量」的計算是無效的。Postgres - 有條件地將一個變量設置爲空
我試圖寫一個條件更新,但沒有成功。我正在處理大量的觀測(3.5米+),並且必須多次循環這個過程,所以如果可能限制更新的數量是非常棒的。謝謝!
UPDATE table
SET variable = CASE WHEN
(
SELECT
(date_part('year',age(datadate,(lag(datadate, 8) OVER W))) * 12) + date_part('month',age(date_trunc('month',datadate),(lag(date_trunc('month',datadate), 8) OVER W)))
FROM table
WINDOW W AS (PARTITION BY permno ORDER BY datadate)
) != '8'
THEN NULL
ELSE variable END;
顯示樣本數據和所需結果 –