トップ / 式評価・文字列・型変換

current_date / current_timestamp

現在の日付・日時を取得する。

SNOWPARK 静的検証のみ

df.with_column("today", current_date())

POLARS 実行確認済み

import datetime
df.with_columns(pl.lit(datetime.date.today()).alias("today"))

挙動・設計の違い

「いつ評価されるか」という設計思想そのものが違う。Snowparkのcurrent_date()はSQLのCURRENT_DATEに変換され、クエリがSnowflakeサーバー上で実行された瞬間の日付になる(DataFrameを組み立てた時点ではなく、collect()等でアクションが起きた時点)。Polarsには「サーバー側で評価される現在時刻」という概念自体が無く、Python側でdatetime.date.today()を呼んだその瞬間の値をリテラルとして埋め込む

移行時の落とし穴

長時間実行されるパイプラインで結果が変わりうる。Snowpark側はcollect()のタイミングまで評価が遅延されるため、DataFrameを組み立ててから実際にアクションを呼ぶまでに日付が変わると(深夜バッチ等)、当初想定した日付と異なる値になることがある。Polars側はコードを実行したPython側の時刻でその場で確定するため、後続の重い処理に時間がかかっても日付は変わらない。

式評価・文字列・型変換の他のメソッド

出典・検証情報

Polars 1.36.1 で実行確認 / Snowpark Python SDK 1.51.1 で静的検証(2026-08-30)