SQL改变类型
问题描述:
嗨,如果我有以下几点:SQL改变类型
表X {
num1 double precision;
num2 int;
}
,现在我想找出NUM2/NUM1和圆形至小数点后1位。
有没有办法在SELECT查询中做到这一点?为双精度..我必须使用数字(4,1)或类似的东西?
答
您可以使用round()
:
SELECT ROUND(num2/num1, 1) FROM x;
PostgreSQL将划分自动升级到浮点时num1
是浮点:
> select 3/3.145927;
?column?
------------------------
0.95361399040727899916
(1 row)
和:
> select round(3/3.145927, 1);
round
-------
1.0
(1 row)
答
拓展上万亩的回答...根据你的postgres版本,因为round(numeric,int)存在而round(float,int)不存在:
select round(num1::numeric/num2::numeric, 1);