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

substring

文字列の一部を指定した位置から切り出す。

SNOWPARK 静的検証のみ

substring(col("full_code"), 1, 3)  # 1文字目から3文字

POLARS 実行確認済み

pl.col("full_code").str.slice(0, 3)  # 0文字目から3文字

挙動・設計の違い

SnowparkはSQLのSUBSTRING(full_code, 1, 3)に変換される。Polarsは.str名前空間のslice()メソッドを使う。

移行時の落とし穴

インデックスの基点が違う=このカテゴリで最も間違いやすい。SQLに準拠するSnowparkの文字位置は1ベース(先頭文字が1)。Polarsのstr.slice0ベース(先頭文字が0)。実行して確認したところ、同じ「先頭3文字を取り出す」つもりでも、Snowpark側はsubstring(col, 1, 3)、Polars側はstr.slice(0, 3)と開始位置の数字が1つずれる。数字をそのまま置き換えて移植すると、片方の文字がずれた結果になる。

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

出典・検証情報

Polars 1.43.2 で実行確認 / Snowpark Python SDK 1.54.0 で静的検証(2026-08-24)