带有 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 Baker 一样建议将数字列存储在数字字段中,因为这有几个优点(像 sum
这样的聚合更容易,排序工作...)。
在我的管理面板中,我想按每周、每月、每年和总计查看所有利润和销售额。
到目前为止,我能够将 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 Baker 一样建议将数字列存储在数字字段中,因为这有几个优点(像 sum
这样的聚合更容易,排序工作...)。