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

如何在Firebird中对数字取整,避免类型转换后出现多余小数位?

Firebird数值转字符串去除末尾小数零的解决方案

问题原因

你当前的quantity字段属于带固定小数位的数值类型(如DECIMAL/NUMERIC),直接转字符串会保留字段定义的全部小数位,因此会出现.000的后缀。

解决方法

你只需要先把quantity转成整数类型抹除小数部分,再转成字符串拼接即可,修改后的SQL如下:

with data as (
  select article_name || cast(cast(quantity as integer) as varchar(50)) as quantity, PREORDER_ID as PID
  from preorder_item
)
SELECT * FROM DATA

特殊场景适配

如果你需要先对小数部分做四舍五入再取整,而非直接截断小数,可以先调用ROUND函数处理:

with data as (
  select article_name || cast(cast(round(quantity, 0) as integer) as varchar(50)) as quantity, PREORDER_ID as PID
  from preorder_item
)
SELECT * FROM DATA

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 01:57:03