带有 pound/dollar 符号的 MySQLi SUM 函数?

MySQLi SUM function with pound/dollar sign?

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

到目前为止,我能够将 ap_payment_logs 数据库中记录的交易显示到高级响应式 table 中。在此之上,我试图显示每个保证金的利润:每周、每月、每年和总计。通过选择和计算列: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;

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

提前致谢!

有这样的Table:

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

和 table 中的这些行:

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 这样的聚合更容易,排序工作...)。