如何在 Snowpark 进行 TRY_CAST?

问题描述 投票:0回答:1

我正在做

try_cast
,正如本专栏
df.select(split(col("spc_value"),lit("~"))[0])
一样,它有价值
"1.419000"

from snowflake.snowpark.types import StructType, StructField, StringType, IntegerType, FloatType, DecimalType, DoubleType, VariantType
from snowflake.snowpark.functions import col,lit,split,try_cast

functions.try_cast

df.select(try_cast(split(col("spc_value"),lit("~"))[0],DoubleType()))

和 列方法 Column.try_cast

df.select(split(col("spc_value"),lit("~"))[0].try_cast(DoubleType()))

两次尝试均返回

SQL编译错误: 函数 TRY_CAST 不能与 VARIANT 和 FLOAT 类型的参数一起使用

我在这里错过了什么

TRY_CAST

python sql casting snowflake-cloud-data-platform
1个回答
0
投票

try_cast 的输入(无论是在 Snowflake SQL 还是 Snowpark 中)必须 是一个字符串。在您的示例中,使用

split()
创建一个对象值,因此您应该将该对象显式转换为字符串,然后使用
try_cast()
转换为您尝试获取的任何数据类型。请注意,
try_cast()
还有一组有限的数据类型可供您使用。

https://docs.snowflake.com/en/sql-reference/functions/try_cast?utm_source=legacy&utm_medium=serp&utm_term=try_cast

© www.soinside.com 2019 - 2024. All rights reserved.