这个是不是有bug?我看文档上说split可以通过这种方式来选择是否返回空字符串,但是把demo复制过来运行会报错。或者有别的方法可以实现?
如果您希望通过split
函数在DW中选择不返回空字符串,可以考虑使用其他方法来实现,例如使用正则表达式或自定义UDF(用户定义函数)来处理字符串分割。
以下是使用正则表达式的示例查询,将字符串按照逗号进行分割并过滤掉空字符串:
SELECT t.column
FROM (
SELECT regexp_replace(split('a,b,c,,d', ','), '^,|,$', '') AS column
FROM dual
) t
WHERE t.column != '';
上述查询使用split
函数将字符串按逗号分割,并使用regexp_replace
函数去掉开头和结尾的逗号。然后使用WHERE
子句筛选出不为空的结果。
加上hive兼容和2.0数据类型 https://help.aliyun.com/zh/maxcompute/user-guide/maxcompute-v2-0-data-type-edition?spm=a2c4g.11186623.0.i17
此回答整理自钉钉群:MaxCompute开发者社区1群
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。