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

MySQL提取的带千分位逗号的price字符串如何转为无逗号数值类型

MySQL端格式化price字段的解决方案

你可以通过字符串替换+类型转换的方式直接在查询阶段生成无千分位逗号的数值,修改查询语句如下即可:

基础写法(精度要求不高的场景)

直接替换逗号后利用MySQL隐式类型转换转为数值:

SELECT REPLACE(price, ',', '') + 0 AS price FROM xxTable;

高精度写法(推荐用于金额字段)

金额类数据避免浮点数精度丢失,建议转定点数类型:

SELECT CAST(REPLACE(price, ',', '') AS DECIMAL(18,2)) AS price FROM xxTable;

补充说明

  1. REPLACE(price, ',', '') 会把字符串中所有千分位逗号替换为空,得到类似50000.00的纯数字字符串
  2. CAST(xxx AS DECIMAL(18,2)) 会将字符串转为支持两位小数的定点数,完全匹配原价格的精度,也可以根据你的业务需求调整DECIMAL的长度和小数位数
  3. 如果你还未完成JSON字段的提取,假设存储JSON的字段名为json_data,价格对应的key为price,完整查询写法如下(MySQL 5.7及以上版本支持):
SELECT CAST(REPLACE(json_data->>'$.price', ',', '') AS DECIMAL(18,2)) AS price FROM xxTable;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 18:18:02