【问题标题】:Spark SQL: cast a variable from a case whenSpark SQL:从案例中转换变量
【发布时间】:2021-06-10 20:26:25
【问题描述】:

如何在 spark SQL 中的 case when 语句中更改变量的数据类型?我在任何地方都找不到任何文档

例如我原以为以下方法会起作用:

SELECT cast(CASE WHEN my_var = 'one'
            THEN null
            ELSE 0
            END AS new_var as Integer)
FROM my_table    

我尝试这个时遇到语法错误。

我也试过了:

SELECT      CASE WHEN my_var = 'one'
            THEN null
            ELSE 0
            END AS cast(new_var as Integer)
FROM my_table    

【问题讨论】:

    标签: apache-spark apache-spark-sql


    【解决方案1】:

    您可以将别名放在演员表之外:

    SELECT cast(CASE WHEN my_var = 'one'
                THEN null
                ELSE 0
                END as int) as new_var
    FROM my_table
    

    【讨论】:

      猜你喜欢
      • 2011-12-13
      • 2021-09-25
      • 1970-01-01
      • 2021-05-21
      • 2017-02-04
      • 2018-05-18
      • 2021-07-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多