当前位置:  开发笔记 > 数据库 > 正文

Money数据类型的平均值

如何解决《Money数据类型的平均值》经验,为你挑选了1个好方法。

以下是“ pc”表,其中包含有关pc的详细信息。

user=> SELECT * FROM pc;
 code |  model   | speed | ram  |  hd  | cd  |  price  
------+----------+-------+------+------+-----+---------
  101 | Imac     |  2000 | 4096 |  500 | 16x | ?550.00
  102 | G450     |  1500 | 2048 |  500 | 8x  | ?450.00
(2 rows)
user=>

现在,我想取价格的平均值。因此尝试了以下方法。但是会产生错误。

user=> SELECT AVG(price) FROM pc;
ERROR:  function avg(money) does not exist
LINE 1: SELECT AVG(price) FROM pc;
               ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
user=>

因此,以货币数据类型获取价格列平均值的方法是什么。



1> Vivek S...:
SELECT AVG(price::numeric) FROM pc;

要么

根据PostgreSQL 8 .4的货币类型

select avg(regexp_replace(price::text, '[$,]', '', 'g')::numeric) from pc

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有