Apache spark 如何在SparkSQL中模拟ZEROIFNULL的功能

Apache spark 如何在SparkSQL中模拟ZEROIFNULL的功能,apache-spark,pyspark,apache-spark-sql,Apache Spark,Pyspark,Apache Spark Sql,Teradata有一个名为ZEROIFNULL的函数,它执行名称所示的操作,如果列的值为NULL,它将返回零。在类似的行中,还有一个名为NULLIFZERO的函数 我希望在SparkSQL中模拟/模拟这些功能,而不是使用dataframe或RDDAPI,而是在SparkSQL中使用它们,在SparkSQL中直接传递SQL 有什么想法吗?试试看 sqlContext.sqlselect合并列,0 如果列为NULL,则返回零 为了模拟NULLIFZERO,您可以在 试一试 sqlContext.sq

Teradata有一个名为ZEROIFNULL的函数,它执行名称所示的操作,如果列的值为NULL,它将返回零。在类似的行中,还有一个名为NULLIFZERO的函数

我希望在SparkSQL中模拟/模拟这些功能,而不是使用dataframe或RDDAPI,而是在SparkSQL中使用它们,在SparkSQL中直接传递SQL

有什么想法吗?

试试看

sqlContext.sqlselect合并列,0 如果列为NULL,则返回零

为了模拟NULLIFZERO,您可以在

试一试

sqlContext.sqlselect合并列,0 如果列为NULL,则返回零

为了模拟NULLIFZERO,您可以在


谢谢你。请给NULLIFZERO一些技巧NVL也能工作:。对于NULLIFZERO,编写case-when-then-else?我不确定NVL是否有效,必须尝试。但您可以使用这种情况,当col=0时选择case,然后从tblalter中选择NULL end。您可以尝试使用nullifa,bGreat!非常感谢。我接受这个答案。你能不能在你的答案中也包括NULLIFZERO部分?谢谢。请给NULLIFZERO一些技巧NVL也能工作:。对于NULLIFZERO,编写case-when-then-else?我不确定NVL是否有效,必须尝试。但您可以使用这种情况,当col=0时选择case,然后从tblalter中选择NULL end。您可以尝试使用nullifa,bGreat!非常感谢。我接受这个答案。你能不能在你的答案中也加上零分?
select case when col=0 then NULL end from tbl