在下面的sql中,在尝试转换varchar中的数字时钻取cribs
select cast (case IsNumeric(Delta_Radio_Delay)
when 0 then 0 else Delta_Radio_Delay end as BIGINT)
from datasource.`./sometable`
where Delta_Radio_Delay='4294967294';
bigint应该能够接受非常大的数字。我不明白它是如何抛出以下错误的:
错误:系统错误:numberformatexception:4294967294
片段1:29[集群3:31010上的错误id:a63bb113-271f-4d8b-8194-2c9728543200](状态=,代码=0)
如何修改sql来解决这个问题?
1条答案
按热度按时间qgelzfjb1#
在apache中,bigint只有8个字节。所以只能使用-2147483648和2147483647之间的数字。
ie:最大数目为'2147483647'。这就是它抛出错误的原因。
希望对你有帮助。