MySQLi SUM功能与英镑/美元符号?

时间:2016-01-19 13:04:09

标签: php sql mysqli currency

在我的管理员面板中,我希望按周,月,年和总计看到所有利润和销售额。

到目前为止,我能够将ap_payment_logs数据库中记录的事务显示在高级响应表中。在此之上是我试图显示每个保证金的利润:每周,每月每月和总计。通过选择和计算列:txn_amount

这一切都适用于添加到该列的普通数字,虽然我的网站的工作方式,它在数字前添加了一个英镑符号(£)

£10.00, £20.00, £50.00...

SUM函数似乎不适用于这个Pound符号,所以我想知道是否有任何简单的方法来执行相同的计算,这对此有用吗?这是我目前的代码:

$result = $conn->query('SELECT SUM(txn_amount) AS value_sum FROM `ap_payment_logs` WHERE `txn_date` >= NOW() - INTERVAL 7 DAY'); 
                $row = mysqli_fetch_assoc($result); 
                $sum = $row['value_sum'];
                echo $sum;

请注意:我无法删除添加£符号以获得我的结果。

提前致谢!

1 个答案:

答案 0 :(得分:0)

有一个像这样的表:

create table dummy (
   id int primary key auto_increment, 
   test varchar(10)
); 

表中的这些行:

mysql> select * from dummy;
+----+---------+
| id | test    |
+----+---------+
|  1 | 10.0    |
|  2 | 14.0    |
|  3 | €14.0   |
+----+---------+

您可以使用以下select语句获取测试值的总和:

select sum(replace(test, '€', '')) from dummy;

无论如何像Mark Ba​​ker我建议将数字列存储在数字字段中,因为它有一些优点(像sum这样的聚合更容易,排序有效......)。