大数据计算MaxCompute有没有办法判断 文本是不是纯数字?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
没有直接的办法,可以通过正则匹配一下数字,把匹配不上的区分出来
https://help.aliyun.com/zh/maxcompute/user-guide/regular-expressions?spm=a2c4g.11186623.0.i82,此回答整理自钉群“MaxCompute开发者社区2群”
在MaxCompute中,你可以使用内置的函数来判断一个字符串是否是纯数字。以下是一个例子:
SELECT * FROM your_table WHERE TRANSFORM(your_column, x -> tryParseDouble(x)) IS NOT NULL;
在这个例子中,tryParseDouble
函数会尝试将输入的字符串转换为Double类型。如果转换成功,那么这个字符串就是纯数字。
请注意,这个方法只能用来判断一个字符串是否是纯数字,不能用来判断一个字符串是否包含数字。例如,"123abc"是一个包含数字的字符串,但是它不是纯数字。
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。