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

PostgreSQL中无需手动插小数点的字符串转decimal方法问询

PostgreSQL 无需字符串操作解析字符串为指定小数位的Decimal

可以通过数值转换+除法运算实现需求,无需手动拼接小数点——本质是将输入字符串视为整数,再除以对应10的幂次(示例中是3位小数,所以除以1000):

核心实现代码

-- 处理长度超过3位的字符串
SELECT ('123456789'::bigint) / 1000::decimal;
-- 输出:123456.789

-- 处理长度不足3位的字符串
SELECT ('123'::bigint) / 1000::decimal;
-- 输出:0.123

异常场景处理

如果需要兼容空字符串或NULL输入,可以用COALESCE和条件判断确保结果合法:

-- 处理空字符串/NULL的情况
SELECT COALESCE(NULLIF(str, '')::bigint / 1000::decimal, 0::decimal)
FROM (SELECT '' AS str) t;
-- 输出:0.000

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 08:15:38