CAST AS DECIMAL 返回文本,为什么?

问题描述 投票:0回答:1

在 Libre Base 查询中,任何人都可以说出为什么以下内容无法生成具有 4 位小数的数字字符,而是返回格式化为显示两位小数的文本的列?我希望查询存储 4 位小数。无论是否包含内部 CAST 函数,列的格式始终为文本。 fs 和 ms_mass 的数据类型都是带有一位小数的数值。谢谢。

CAST((CAST("fs_mass" AS DECIMAL (10,4)) + CAST( "ms_mass" AS DECIMAL (10,4)))*.001 AS DECIMAL (10,4))
sql hsqldb calculated-columns decimalformat libreoffice-base
1个回答
0
投票

也许问题出在显示器上。例如,与:

select 1.2345 + CAST((CAST("fs_mass" AS DECIMAL (10,4)) + CAST( "fs_mass" AS DECIMAL (10,4)))*.111 AS DECIMAL (10,4)) from "Table1";

查询结果屏幕首先显示“1.5”。因此,我右键单击第一个结果上方的列标题,然后转到“列格式”。更改为小数点后 4 位的数字。

1.5009

© www.soinside.com 2019 - 2024. All rights reserved.