带有英镑/美元符号的 MySQLi SUM 函数


MySQLi SUM function with pound/dollar sign?

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

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

这一切都适用于添加到该列的正常数字,尽管我的网站的工作方式,它会在数字之前添加(£)井号:

£10.00, £20.00, £50.00...

SUM函数似乎不适用于这个井号,所以我想知道是否有任何简单的方法来执行相同的计算来解决这个问题?这是我当前的代码:

$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;

请注意:我无法删除添加的£符号来实现我的结果。

提前感谢!

有这样的表:

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;
无论如何,像

马克贝克一样,我建议将您的数字列存储在数字字段中,因为这有几个优点(像sum这样的聚合更容易,排序工作......