ESQLC数据类型 - 时间类型datetime和interval使用的宏

GBase8s ESQL/C 的datetime和interval使用的宏

在decimal.h中还定义了一些与datetime和interval相关的宏。

修饰符是一个2-字节的整数, 第一个字节高四位为起始字段,第一个字节的低四位时终止字段。

第二个字节为长度。

宏的名称

描述

TU_YEAR

时间单位中的年修饰符

TU_MONTH

时间单位中的月修饰符

TU_DAY

时间单位中的日修饰符

TU_HOUR

时间单位中的时修饰符

TU_MINUTE

时间单位中的分修饰符

TU_SECOND

时间单位中的秒修饰符

TU_FRAC

时间单位中的微秒修饰符

TU_Fn

datetime的最后一个成员FRACTION(n), n的取值范围为1-5.

TU_START(p)

从修饰符中取得起始字段的值。

TU_END(p)

从修饰符中取得终止字段的值。

TU_LEN(p)

返回修饰符的长度。

TU_FLEN(f)

返回interval结构的起始字段的长度。

TU_ENCODE(p, f, t)

创建修饰符,根据起始字段f,长度字段p和终止字段t

TU_DTENCODE(f,t)

创建datetime修饰符,根据起始字段f和终止字段t, 内部调用TU_ENCODE(p, f, t)实现。

TU_IENCODE(p, f, t)

创建interval修饰符,根据起始字段f,长度字段p和终止字段t,内部调用TU_ENCODE(p, f, t)实现。

如果在程序中,声明interval变量时, 没有指定修饰符。需要调用interval的宏来设定interval的修饰符,请看下面的例子:

/* declare a host variable without a qualifier */

EXEC SQL BEGIN DECLARE SECTION;

  interval inv1;

EXEC SQL END DECLARE SECTION;

/* set the interval qualifer for the host variable */

inv1.in_qual = TU_IENCODE(2, TU_DAY, TU_SECOND);

/* assign values to the host variable */

incvasc(“5 2:10:02”, &inv1);

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

八珍豆腐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值