You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQLite3中如何对含货币符号的文本格式数值求和?

解决SQLite中带货币符号的数值求和问题

你遇到的问题根源是"Item Total"字段的数值带$符号,直接用CAST转FLOAT时,SQLite无法识别这类带符号的字符串,会默认转为0.0,导致求和结果错误。以下是两种实用的解决方法:

方法一:SQL查询层面直接处理

利用SQLite的REPLACE函数先剔除货币符号,再转换为数值类型求和,代码示例:

cursor.execute('SELECT SUM(CAST(REPLACE("Item Total", "$", "") AS FLOAT)) FROM price')
res_sum = cursor.fetchone()
print(res_sum)

如果数值里包含千分位逗号(比如$1,234.56),可以嵌套REPLACE去掉逗号:

SELECT SUM(CAST(REPLACE(REPLACE("Item Total", "$", ""), ",", "") AS FLOAT)) FROM price

方法二:Python代码中处理数据

先从数据库取出所有带符号的字符串,在Python中清理格式后转浮点数再求和:

cursor.execute('SELECT "Item Total" FROM price')
rows = cursor.fetchall()
total = sum(float(item[0].replace("$", "")) for item in rows)
print(total)

若存在千分位逗号,需额外替换:item[0].replace("$", "").replace(",", "")

内容的提问来源于stack exchange,提问作者Olga Melnikova

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 14:20:32