使用 db2 和 c++ 在数据库中存储十进制浮点值 (DECFLOAT)

Posted

技术标签:

【中文标题】使用 db2 和 c++ 在数据库中存储十进制浮点值 (DECFLOAT)【英文标题】:Store decimal float values (DECFLOAT) in database using db2 and c++ 【发布时间】:2014-08-04 09:38:29 【问题描述】:

我想使用 db2 库和 c++ 将十进制浮点值存储在列类型为 DECFLOAT 的表中。我了解已添加 SQLDECIMAL64SQLDECIMAL128 用于存储十进制浮点值。现在要将数据插入到这个DECFLOAT 列中,我如何为SQLDECIMAL64SQLDECIMAL128 赋值,因为它们是联合。

是否有任何 c++ 数据类型可用于存储 SQLDECIMAL64SQLDECIMAL128 范围内的十进制浮点值,并且可以插入到 DECFLOAT 中?

【问题讨论】:

【参考方案1】:

正如您已经提到的,数据类型是一个结构,并且与所有这些类型一样,它们必须被构造才能相应地使用。没有可以 1:1 映射的 C/C++ 数据类型。

不幸的是,在 DB2 LUW 文档中没有关于如何执行此操作的示例,但在 zOS 文档中有一个示例:

Examples of using decimal floating point data 应该让您了解如何在代码中使用它。

【讨论】:

以上是关于使用 db2 和 c++ 在数据库中存储十进制浮点值 (DECFLOAT)的主要内容,如果未能解决你的问题,请参考以下文章

浮点类型是如何存储的

C语言学习 -- 整型与浮点型在内存中的存储

浮点型数据在内存中的存储

C++ 数据类型

C++知识点复习

将浮点值存储在数组中,并分析最后 20 个值以在 C++ 中检查