presto字符串转浮点数、整数处理

1. 相除保留小数位

Presto中两个整数相除会结果为零。当我们相除的两个数都为整数时,比如我想用两个count()结果相除,想保留n为小数

select count(*)*1.00 / count(*) from student;
结果就会自动保留两位小数,想要n位就1.后面n个零

2. 字符串转整数

select cast (bj_score as bigint), bj_score from dcs_input_tab_bj_score

3. 字符串转浮点

select cast (bj_score as double), bj_score from dcs_input_tab_bj_score

4. round(x, d) 保留d位小数,对后面的做四舍五入

select round(976.56374123, 5); --对第5位后的做四舍五入

5. is_nan(x) 判断浮点数是为为空,返回true或者false

select is_nan(976.56374123);

6. rand() 随机生成一个随机浮点数

select rand(); 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Presto中,可以使用CAST函数将字符串换为数字。例如,要将字符串'123'换为数字,可以使用以下查询语句: SELECT CAST('123' AS INTEGER) AS number; 这将返回数字123。你还可以将其他数据类型的字符串换为不同的数字类型,如FLOAT或DOUBLE。只需将CAST函数的目标数据类型更改为所需的数据类型即可。 引用中的例子展示了如何将Unix时间戳换为日期格式的字符串。如果你想将一个字符串表示的日期换为数字,你可以使用类似的方法。首先,使用FROM_UNIXTIME函数将字符串日期换为Unix时间戳,然后使用CAST函数将结果换为数字数据类型。例如,要将字符串'2022-09-29'换为数字,可以使用以下查询语句: SELECT CAST(FROM_UNIXTIME(UNIX_TIMESTAMP('2022-09-29', 'yyyy-MM-dd')) AS INTEGER) AS date_number; 这将返回数字20220929,代表日期'2022-09-29'。 总之,在Presto中,可以使用CAST函数将字符串换为数字,同时也可以使用其他函数将日期字符串换为数字表示。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [工作常用sql总结](https://blog.csdn.net/qq_42410633/article/details/127067825)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值