从postgres中的十进制值中删除(。)

时间:2011-10-07 05:53:43

标签: sql postgresql

我想删除。从我的查询输出中的所有十进制值,如果我使用

select(32.00) output should come 3200
select(32.50) output should come 3250
select(32.05) output should come 3205

是否有任何功能给我这个输出我不希望3200.00作为输出 如果有人知道,请告诉我怎么样?

2 个答案:

答案 0 :(得分:10)

您可以乘以100并转换为整数:

=> select cast(32.00*100 as integer);
 int4 
------
 3200

那会给你一个整数。如果您的值不是它们看起来的decimal(n,2),那么您可能需要提取round, floor, or ceil以明确所需的舍入或截断:

=> select floor(23.025 * 100), ceil(23.025 * 100), round(23.025 * 100);
 floor | ceil | round 
-------+------+-------
  2302 | 2303 |  2303

答案 1 :(得分:1)

你可以尝试:

SELECT replace(CAST(your_field AS text),'.','')
FROM your_table