哈喽,有碰到过大数据计算MaxCompute:
coalesce(a1.cust_id,a2.cust_id) as cust_id
实际的a1.cust_id为null,a2.cust_id也为null,但插入表后却是0
的这种情况吗?
表的cust_id是bigint类型
哈喽,有碰到过大数据计算MaxCompute:但插入表后却是0的这种情况吗?[阿里云MaxCompute]
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
哈喽,有碰到过大数据计算MaxCompute:
coalesce(a1.cust_id,a2.cust_id) as cust_id
实际的a1.cust_id为null,a2.cust_id也为null,但插入表后却是0
的这种情况吗?
表的cust_id是bigint类型
在 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 函数的结果。
如果两个字段都是null,应该会报错返回,此回答整理自钉群“MaxCompute开发者社区2群”