将bigint转换为蜂巢中的科学数

问题描述

我正在尝试使用以下强制转换功能将bigint转换为蜂巢中的科学数

select cast(805454539 as float) from table name;

上面的查询给了我805454528

但是,我正在寻找类似8.05454539E8

的东西

解决方法

要将float转换为科学计数法字符串表示形式,可以使用printf()函数(在本示例中为8-是小数位数):

select printf('%1.8e',cast(805454539 as double))

结果:

8.05454539e+08