
# 数据类型映射
当ecpg应用程序在GaussDB服务器和C语言程序之间交换值时（例如：从服务器检索查询结果或者执行带有输入参数的SQL语句），在GaussDB数据类型和宿主语言变量类型（具体的C语言数据类型）之间需要进行值的转换。有两种数据类型可以使用：简单的GaussDB数据类型，如integer和text，可以直接被应用程序读取和写入。其他GaussDB数据类型，如timestamp和numeric，只能通过特殊库函数进行访问，请参见[ecpg接口参考](https://support.huaweicloud.com/distributed-devg-v10-gaussdb/gaussdb-12-0300.html)章节。
![](https://support.huaweicloud.com/distributed-devg-v10-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
- 当前仅支持对于C语言的基本数据类型的使用或者组合，不支持C++语言中string数据类型用作宿主变量数据类型。
- 当前ecpg仅对SQL的常用数据类型做映射，具体支持项请参见[表1]。
 
 表1**GaussDB数据类型和C变量类型之间的映射** 
| GaussDB数据类型                    | 宿主变量数据类型                                                                                                                                                                                                                           |
|:---|:---|
| smallint                       | short                                                                                                                                                                                                                              |
| integer                        | int                                                                                                                                                                                                                                |
| bigint                         | long long int                                                                                                                                                                                                                      |
| boolean                        | boolean                                                                                                                                                                                                                            |
| character(n), varchar(n), text | char\[n+1\], VARCHAR\[n+1\]                                                                                                                                                                                                        |
| double precision               | double                                                                                                                                                                                                                             |
| real                           | float                                                                                                                                                                                                                              |
| smallserial                    | short                                                                                                                                                                                                                              |
| serial                         | int                                                                                                                                                                                                                                |
| bigserial                      | long long int                                                                                                                                                                                                                      |
| oid                            | unsigned int                                                                                                                                                                                                                       |
| name                           | char\[NAMEDATALEN\]                                                                                                                                                                                                                |
| date                           | date \[a\] 说明： \[a\]表示特殊数据类型，此类型可以通过[访问特殊数据类型](https://support.huaweicloud.com/distributed-devg-v10-gaussdb/gaussdb-12-0329.html)访问。 |
| timestamp                      | timestamp \[a\]                                                                                                                                                                                                                    |
| interval                       | interval \[a\]                                                                                                                                                                                                                     |
| decimal                        | decimal \[a\]                                                                                                                                                                                                                      |
| numeric                        | numeric \[a\]                                                                                                                                                                                                                      |
   
