SQL 改变类型
您好,如果我有以下内容:
表 x {
num1 double precision;
num2 int;
}
,现在我想找出 num2/num1 并四舍五入到小数点后 1 位。
有没有办法在 SELECT 查询中做到这一点?对于双精度..我必须使用 numeric(4,1) 或类似的东西吗?
hi if i have the following :
table x {
num1 double precision;
num2 int;
}
and now i want to find out num2/num1 and round to 1 decimal place.
is there a way to do this in a SELECT query? for the double precision.. do i have to use numeric(4,1) or something like that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用
round()
:当
num1
为浮点数时,PostgreSQL会自动将除法升级为浮点数:并且:
You can use
round()
:PostgreSQL will automatically upgrade the division to floating point when
num1
is floating point:And:
扩展 mu 的答案...根据您的 postgres 版本,您可能需要添加显式转换,因为 round(numeric, int) 存在,但 round(float, int) 不存在:
Expanding on mu's answer... Depending on your postgres version, you might need to add an explicit cast, because round(numeric, int) exists but round(float, int) does not: