Spark SQL中字符串转Integer出现NULL值如何处理
问题原因
Spark SQL中INT是32位有符号整数类型,取值范围为 -2147483648 ~ 2147483647:
- 第一个待转换字符串对应的数值是
282001368,小于INT类型最大值,所以可以正常转换 - 第二个待转换字符串对应的数值是
12300000079,远超出INT类型的取值上限,转换失败返回NULL
解决方案
改用取值范围更大的64位有符号整数类型BIGINT执行转换即可,代码如下:
%sql select bigint('00012300000079')
执行后即可得到正确的整数值12300000079。
内容的提问来源于stack exchange,提问作者u6765
相关产品推荐
相关产品推荐

