9.3.1 数据类型转换
下列 GBase 8s ESQL/C 示例检索 DECIMAL 列的平均值,其自身是 DECIMAL 值。然而,
将 DECIMAL 列的平均值放置其内的主变量不要求具有那种数据类型。
EXEC SQL SELECT avg (total_price) into :avg_price
FROM items;
不展示在前面的 GBase 8s ESQL/C 代码示例中接收的变量 avg_price 的声明。该声明可为任
一下列定义:
int avg_price;
double avg_price;
char avg_price[16];
dec_t avg_price; /* typedef of decimal number structure */
注释语句中使用的每一主变量的数据类型,并使用该语句传到数据库服务器。数据库服务
器尽量将列数据转换为接收的变量使用的形式。允许几乎任何转换,尽管某些转换会导致
精度损失。依赖于接收的主变量的数据类型,前面的示例的结果会不同,如下表所示。