数据库数据类型转换

在数据库查询中,为了进行特定的数学操作如除法,可能需要将数据类型转换。Postgres中可以使用cast(字段名as数据类型)或字段名::数据类型来转换,例如将int转换为float进行除法。如果需要保留小数并控制精度,可以使用decimal(P,D)。在MySQL中,可以使用convert(字段,数据类型)进行转换。
摘要由CSDN通过智能技术生成

在使用数据库进行查询的时候可能要对数据类型进行相应的转换

Postgres数据库进行转换的方式如下

比如数据库有两个字段都是int类型的,想要对他进行除法操作,我这里显示是获取成功率

select *,successful/allnumber successrate from sys_audit;

结果如下没有保留相应的小数,也没有进行四舍五入运算在这里插入图片描述
可以使用cast(字段名 as 数据类型)进行转换

select *,cast(successful as float)/allnumber successrate from sys_audit;

还有另一种方式 字段名 :: 数据类型

select *,successful::float/allnumber successrate from sys_audit;

下图所示没有保留指定小数,没有达到预期效果
在这里插入图片描述
可以通过decimal(P,D) 再对数据进行一次转换

P是表示有效数字数的精度。 P范围为1〜65。

D是表示小数点后的位数。 D的范围是0~30。MySQL要求D小于或等于(<=)P。

select *,cast(successful::float/allnumber as decimal(6,3) successrate from sys_audit;

在这里插入图片描述

Mysql的数据转换方式

  • 使用 convert 关键字 convert(字段,数据类型)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值