AWS Athena中浮点数转int为何四舍五入而非取整?
AWS Athena中浮点数转整数的CAST行为说明
在AWS Athena中,CAST(浮点数 AS INT)的行为确实是向最近的整数舍入,这属于预期行为,而非直接截断小数部分。
你执行的查询:
SELECT cast(0.1 as int), cast(0.4 as int),cast(0.5 as int), cast(0.9 as int)
得到结果0, 0, 1, 1的原因是:
- 0.1、0.4的小数部分更接近0,因此舍入为0
- 0.5、0.9的小数部分更接近1,因此舍入为1
如果需要实现仅保留整数部分、截断小数的效果(即得到你预期的0, 0, 0, 0),可以使用FLOOR()函数,示例查询:
SELECT floor(0.1), floor(0.4), floor(0.5), floor(0.9)
内容的提问来源于stack exchange,提问作者Alfonso Sastre
相关产品推荐
相关产品推荐

