SQL numeric(18,0) 数据类型对应的 C++ 数据类型是啥?

Posted

技术标签:

【中文标题】SQL numeric(18,0) 数据类型对应的 C++ 数据类型是啥?【英文标题】:What is the corresponding C++ data type to the SQL numeric(18,0) data type?SQL numeric(18,0) 数据类型对应的 C++ 数据类型是什么? 【发布时间】:2012-05-11 15:39:22 【问题描述】:

与 SQL numeric(18,0) 数据类型对应的 C++ 数据类型是什么?

我需要 C++ 中的数据类型来存储 SQL 的 numeric(18,0)。

【问题讨论】:

(18,0) 表示小数点前18位,后0位。因此,您可以使用long longint64_t__int64 或系统上的任何64 位整数。 我的问题是从sql读取数据的_variant_t不支持LONGLONG 您使用的是 MSVC,对吗?什么版本? AFAIK variant_t 确实支持 64 位整数。哦,你从什么样的数据库中读取? SQL Server? 哦,我刚刚阅读了您的另一个问题,您说这是针对 WinCE 平台的,而 _variant_t 不包含 __int64 。我不知道,我不知道如何解决这个问题,抱歉。 【参考方案1】:

MSDN 上说数字在 C++ 中映射到 CString。

参考:SQL: SQL and C++ Data Types (ODBC)

【讨论】:

【参考方案2】:

那将是 long long(至少 64 位)。

【讨论】:

以上是关于SQL numeric(18,0) 数据类型对应的 C++ 数据类型是啥?的主要内容,如果未能解决你的问题,请参考以下文章

EF6.0 下sql语句自动生成的参数类型decimal(18,2)修改

什么 Java 数据类型对应于 Oracle SQL 数据类型 NUMERIC?

SQL怎么样把numeric类型的数据转换为varchar类型的数据

SQL怎么样把numeric类型的数据转换为varchar类型的数据

numeric对应java啥类型

SQL数据类型DECIMAL 比如成绩表里SCORE DECIMAL(4,1) 这个字段代表啥意思啊