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

datediff

2つの日付・時刻の差を、指定した単位(日数など)で求める。

SNOWPARK 静的検証のみ

datediff("day", col("start_date"), col("end_date"))

POLARS 実行確認済み

(pl.col("end_date") - pl.col("start_date")).dt.total_days()

挙動・設計の違い

Snowparkはdatediff(単位, 開始, 終了)という専用の関数を1回呼ぶだけで済む。Polarsには同名の専用関数が無く、日付列同士を引き算してDuration型にしてから.dt.total_days()のようなメソッドで単位を取り出す2段階の書き方になる。14日差のデータで実行して確認したところ、どちらも14になる。

移行時の落とし穴

Polars側は「引き算してから単位を取り出す」という考え方の違いを理解していないと、datediffに相当する関数を探して見つからずに詰まる。日数以外の単位(時間・分)が欲しいときは.dt.total_days()の部分を.dt.total_hours().dt.total_minutes()に差し替える。

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

出典・検証情報

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