トップ / 式評価・文字列・型変換
文字列の一部を指定した位置から切り出す。
substring(col("full_code"), 1, 3) # 1文字目から3文字
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.sliceは0ベース(先頭文字が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)