1回限りの操作は、単純なUPDATE
で実現できます。 :
UPDATE tbl
SET one_year_survival = (survival OR survival_days >= 365);
名前にキャメルケース、空白、括弧を使用しないことをお勧めします。二重引用符で囲むことは許可されていますが、多くの場合、複雑化や混乱を招きます。識別子とキーについては、の章を検討してください。マニュアルの単語 。
クエリの結果をエクスポートできることをご存知ですか? COPY
を使用したCSVとして
?
例:
COPY (SELECT *, (survival OR survival_days >= 365) AS one_year_survival FROM tbl)
TO '/path/to/file.csv';
そもそも、この方法で冗長な列は必要ありません。
コメントへの追加回答
空の更新を回避するには:
UPDATE tbl
SET "Dead after 1-yr" = (dead AND my_survival_col < 365)
,"Dead after 2-yrs" = (dead AND my_survival_col < 730)
....
WHERE "Dead after 1-yr" IS DISTINCT FROM (dead AND my_survival_col < 365)
OR "Dead after 2-yrs" IS DISTINCT FROM (dead AND my_survival_col < 730)
...
個人的には、やむを得ない理由がある場合にのみ、このような冗長な列を追加します。通常はしません。パフォーマンスに関する場合:式と部分インデックスのインデックス ?