哈喽,有碰到过大数据计算MaxCompute: 但插入表后却是0 的这种情况吗?

哈喽,有碰到过大数据计算MaxCompute:
coalesce(a1.cust_id,a2.cust_id) as cust_id
实际的a1.cust_id为null,a2.cust_id也为null,但插入表后却是0
的这种情况吗?
表的cust_id是bigint类型

展开
收起
真的很搞笑 2023-08-08 20:18:03 159 分享 版权
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在 MaxCompute 中,当使用 coalesce 函数时,如果参数列表中的所有表达式都为 NULL,那么 coalesce 函数将返回 NULL,而不会返回 0。因此,根据你提供的情况,coalesce(a1.cust_id, a2.cust_id) as cust_id 的结果应该是 NULL 而不是 0。

    但是,如果在插入到表中后,cust_id 列的值为 0,可能有以下几个可能的原因:

    插入语句中对 cust_id 执行了其他操作或转换:在插入语句中可能对 cust_id 列进行了一些操作或转换,导致最终的结果为 0。请检查插入语句中对 cust_id 列的处理逻辑。

    表的定义或默认值设置:在表的定义或默认值设置中,可能对 cust_id 列设置了默认值为 0,或者在插入时对 cust_id 列使用了默认值。请检查表的定义和默认值设置。

    数据源的问题:在插入数据时,可能来源于其他表或数据源,而不是 coalesce(a1.cust_id, a2.cust_id) 的结果。请检查数据源的值,确保在插入时使用的是 coalesce 函数的结果。

    2023-08-13 20:54:21
    赞同 展开评论
  • 如果两个字段都是null,应该会报错返回,此回答整理自钉群“MaxCompute开发者社区2群”

    2023-08-09 12:30:53
    赞同 展开评论

MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。

热门讨论

热门文章

还有其他疑问?
咨询AI助理