double:转为双精度浮点
速查结论
double(expr) 是 Spark SQL 中用于将表达式结果强制转换为 DOUBLE(双精度浮点数)类型的函数。
语法
double(expr)
参数说明
| 参数 | 说明 |
|---|---|
| expr | 需要转换为 DOUBLE 类型的表达式或值。支持 STRING、数值等类型的输入 |
示例
> SELECT double('3.1415926535');
3.1415926535
> SELECT double(1);
1.0
> SELECT double('inf');
Infinity
常见报错与避坑指南
- 特殊浮点值:支持
'inf'(正无穷)、'-inf'(负无穷)和'nan'(非数值)的特殊字符串转换。 - 精度限制:DOUBLE 类型遵循 IEEE 754 双精度规范,有效位数约为 15-17 位十进制数字。对于需要精确小数运算的场景(如金额计算),建议使用 DECIMAL 类型。
- 与 cast 等价:
double(expr)等价于cast(expr AS DOUBLE)。
Since: 2.0.1
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

💬加群交流
备注「数据仓库技术」加入社群,每日一道大厂SQL真题
