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 long
或int64_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类型的数据