当我意识到这种类型的SQLite SQL查询时:
SELECT SUM(Column) as TOTAL_DEBIT FROM table_name;
我希望增加真实,但它给出了整数除数的总和。
例如:
SELECT SUM(DEBIT) as TOTAL_DEBIT FROM DEBIT
下表中的SQL查询提供了:
TOTAL_DEBIT
11475
我希望得到这样的结果:
TOTAL_DEBIT
11482,79
示例表:
DROP TABLE IF EXISTS "DEBIT";
CREATE TABLE "DEBIT" ("DATE" DATETIME NOT NULL , "DEBIT" REAL NOT NULL );
INSERT INTO "DEBIT" VALUES('23/12/13','29,90');
INSERT INTO "DEBIT" VALUES('23/12/13','304,00');
INSERT INTO "DEBIT" VALUES('15/01/14','1245,48');
INSERT INTO "DEBIT" VALUES('21/01/14','304,00');
INSERT INTO "DEBIT" VALUES('23/01/14','30,00');
INSERT INTO "DEBIT" VALUES('28/01/14','129,10');
INSERT INTO "DEBIT" VALUES('31/01/14','32,10');
INSERT INTO "DEBIT" VALUES('21/02/14','30,00');
INSERT INTO "DEBIT" VALUES('21/02/14','304,00');
INSERT INTO "DEBIT" VALUES('17/03/14','117,66');
INSERT INTO "DEBIT" VALUES('21/03/14','30,00');
INSERT INTO "DEBIT" VALUES('21/03/14','304,00');
INSERT INTO "DEBIT" VALUES('02/04/14','175,62');
INSERT INTO "DEBIT" VALUES('22/04/14','304,00');
INSERT INTO "DEBIT" VALUES('23/04/14','30,00');
INSERT INTO "DEBIT" VALUES('30/04/14','32,10');
INSERT INTO "DEBIT" VALUES('21/05/14','304,00');
INSERT INTO "DEBIT" VALUES('22/05/14','2838,00');
INSERT INTO "DEBIT" VALUES('22/05/14','30,00');
INSERT INTO "DEBIT" VALUES('30/05/14','145,41');
INSERT INTO "DEBIT" VALUES('23/06/14','30,00');
INSERT INTO "DEBIT" VALUES('23/06/14','304,00');
INSERT INTO "DEBIT" VALUES('25/06/14','112,48');
INSERT INTO "DEBIT" VALUES('21/07/14','304,00');
INSERT INTO "DEBIT" VALUES('22/07/14','30,00');
INSERT INTO "DEBIT" VALUES('24/07/14','1245,48');
INSERT INTO "DEBIT" VALUES('25/07/14','127,68');
INSERT INTO "DEBIT" VALUES('31/07/14','32,10');
INSERT INTO "DEBIT" VALUES('12/08/14','23,89');
INSERT INTO "DEBIT" VALUES('21/08/14','30,00');
INSERT INTO "DEBIT" VALUES('21/08/14','304,00');
INSERT INTO "DEBIT" VALUES('10/09/14','480,00');
INSERT INTO "DEBIT" VALUES('22/09/14','30,00');
INSERT INTO "DEBIT" VALUES('22/09/14','304,00');
INSERT INTO "DEBIT" VALUES('29/09/14','131,37');
INSERT INTO "DEBIT" VALUES('21/10/14','30,00');
INSERT INTO "DEBIT" VALUES('21/10/14','304,00');
INSERT INTO "DEBIT" VALUES('24/10/14','96,00');
INSERT INTO "DEBIT" VALUES('31/10/14','32,50');
INSERT INTO "DEBIT" VALUES('21/11/14','304,00');
INSERT INTO "DEBIT" VALUES('24/11/14','30,00');
INSERT INTO "DEBIT" VALUES('28/11/14','143,92');
INSERT INTO "DEBIT" VALUES('22/12/14','30,00');
INSERT INTO "DEBIT" VALUES('22/12/14','304,00');
提前感谢您的帮助和问候, 阿尔
答案 0 :(得分:0)
你能不能REPLACE
,
之前SUM
重新REPLACE
吗?
SELECT REPLACE(SUM(REPLACE(DEBIT,',','.')),'.',',') AS TOTAL_DEBIT
FROM DEBIT
答案 1 :(得分:0)
如果数字存储为文本,那么您可以执行以下操作(我不依赖于隐式转换):
SELECT REPLACE(SUM(CAST(REPLACE(debit, ',', '.') AS REAL)), '.', ',') AS total_debit
FROM debit
答案 2 :(得分:0)
我忘记了法语小数点分隔符与国际十进制系统不同:当逗号被一个点替换时,它的效果非常好:
SQL查询:
SELECT ROUND(SUM(DEBIT),2) as amount FROM DEBIT;
对这个SQL脚本非常有用:
DROP TABLE IF EXISTS "DEBIT";
CREATE TABLE "DEBIT" ("DATE" DATETIME NOT NULL , "DEBIT" REAL NOT NULL );
INSERT INTO "DEBIT" VALUES('23/12/13','29.90');
INSERT INTO "DEBIT" VALUES('23/12/13','304.00');
INSERT INTO "DEBIT" VALUES('15/01/14','1245.48');
INSERT INTO "DEBIT" VALUES('21/01/14','304.00');
INSERT INTO "DEBIT" VALUES('23/01/14','30.00');
INSERT INTO "DEBIT" VALUES('28/01/14','129.10');
INSERT INTO "DEBIT" VALUES('31/01/14','32.10');
INSERT INTO "DEBIT" VALUES('21/02/14','30.00');
INSERT INTO "DEBIT" VALUES('21/02/14','304.00');
INSERT INTO "DEBIT" VALUES('17/03/14','117.66');
INSERT INTO "DEBIT" VALUES('21/03/14','30.00');
INSERT INTO "DEBIT" VALUES('21/03/14','304.00');
INSERT INTO "DEBIT" VALUES('02/04/14','175.62');
INSERT INTO "DEBIT" VALUES('22/04/14','304.00');
INSERT INTO "DEBIT" VALUES('23/04/14','30.00');
INSERT INTO "DEBIT" VALUES('30/04/14','32.10');
INSERT INTO "DEBIT" VALUES('21/05/14','304.00');
INSERT INTO "DEBIT" VALUES('22/05/14','2838.00');
INSERT INTO "DEBIT" VALUES('22/05/14','30.00');
INSERT INTO "DEBIT" VALUES('30/05/14','145.41');
INSERT INTO "DEBIT" VALUES('23/06/14','30.00');
INSERT INTO "DEBIT" VALUES('23/06/14','304.00');
INSERT INTO "DEBIT" VALUES('25/06/14','112.48');
INSERT INTO "DEBIT" VALUES('21/07/14','304.00');
INSERT INTO "DEBIT" VALUES('22/07/14','30.00');
INSERT INTO "DEBIT" VALUES('24/07/14','1245.48');
INSERT INTO "DEBIT" VALUES('25/07/14','127.68');
INSERT INTO "DEBIT" VALUES('31/07/14','32.10');
INSERT INTO "DEBIT" VALUES('12/08/14','23.89');
INSERT INTO "DEBIT" VALUES('21/08/14','30.00');
INSERT INTO "DEBIT" VALUES('21/08/14','304.00');
INSERT INTO "DEBIT" VALUES('10/09/14','480.00');
INSERT INTO "DEBIT" VALUES('22/09/14','30.00');
INSERT INTO "DEBIT" VALUES('22/09/14','304.00');
INSERT INTO "DEBIT" VALUES('29/09/14','131.37');
INSERT INTO "DEBIT" VALUES('21/10/14','30.00');
INSERT INTO "DEBIT" VALUES('21/10/14','304.00');
INSERT INTO "DEBIT" VALUES('24/10/14','96.00');
INSERT INTO "DEBIT" VALUES('31/10/14','32.50');
INSERT INTO "DEBIT" VALUES('21/11/14','304.00');
INSERT INTO "DEBIT" VALUES('24/11/14','30.00');
INSERT INTO "DEBIT" VALUES('28/11/14','143.92');
INSERT INTO "DEBIT" VALUES('22/12/14','30.00');
INSERT INTO "DEBIT" VALUES('22/12/14','304.00');