在 java 中,当通过查询从 teradata 中获取字段的 Avg 时,小数点会丢失

In java, when a query is passed for fetching the Avg of a field from teradata,the decimal points are lost

我正在通过我的 selenium java 脚本传递以下查询。

SELECT avg(Field1) as Avg_Field1,Field2 
FROM table where PRIMARYVENDORNUMBER=81997 group by Field1,Field2

当我在 teradata 中 运行 这个查询时,我的输出是 7.00 , 0.00 但是我脚本的输出是 7,0.00

因此,当我使用 avg 函数时,我的脚本给出的输出中丢失了小数点。

注意:我的脚本 t运行仅在使用 avg 函数时才包含小数点。

String sql = query;
ResultSet rs = stmt.executeQuery(sql);
metadata = rs.getMetaData();
while (rs.next())
{
    for (int i = 1; i <= metadata.getColumnCount(); i++)
    {
        Db_datas.add(rs.getString(i));
    }
    System.out.println(Db_datas);
}

尝试将 avg ...SELECT cast(avg(Field1) as decimal(7,2)) as Avg_Field1,Field2 FROM table where PRIMARYVENDORNUMBER=81997按 Field1,Field2 分组