提问人:Azima 提问时间:4/25/2023 最后编辑:Azima 更新时间:4/26/2023 访问量:604
trino sql 将 double 转换为 varchar 没有科学记数法 E
trino sql convert double to varchar without scientific notation E
问:
用:Athena version engine 3
我正在尝试将值转换为没有符号。double precision
varchar
E
现在:
select
format('%s', round(abs(0.972) * pow(10, 2 - ceil(ln(abs(0.972)) / ln(10))), 0) / pow(10, 2 - ceil(ln(abs(0.972)) / ln(10))));
这将按预期返回。0.97
但 Athena 不支持此功能。format()
所以我不得不投到:varchar
select
cast(round(abs(0.972) * pow(10, 2 - ceil(ln(abs(0.972)) / ln(10))), 0) / pow(10, 2 - ceil(ln(abs(0.972)) / ln(10))) as varchar);
这将输出:。9.7E-1
有没有其他选择?我该如何解决这个问题?format()
答:
1赞
Misha Zaslavsky
4/25/2023
#1
在 中,您可以使用函数。Athena
printf
SELECT
printf('%.2f', round(abs(0.972) * pow(10, 2 - ceil(ln(abs(0.972)) / ln(10))), 0) / pow(10, 2 - ceil(ln(abs(0.972)) / ln(10))))) AS val;
评论