GBase8s ESQL/C 获取和插入datetime值
当应用程序获取或插入datetime值时,GBase8s ESQL/C必须确认datetime.dt_qual字段是一个有效的修饰符。
- 当datetime.dt_qual是一个有效的修饰符,ESQL/C 转换列中的DATETIME值,使其匹配datetime变量。
转换是添加或删除DATETIME列中的某些字段,使其与datetime指定的修饰符匹配。可以通过调用SQL函数EXTEND, 或者ESQL/C函数 dtextend()实现。
- 当datetime.dt_qual不是一个有效修饰符时,分两种情况
- 获取数据时,ESQL/C使用DATETIME列的修饰符信息,初始化datetime变量的修饰符。
- 插入数据时,不能执行插入或更新操作, 报错处理。
GBase8s ESQL/C 获取和插入interval值
当应用程序获取或插入interval值时,GBase8s ESQL/C必须确认interval.dt_qual字段是一个有效的修饰符。
- 当interval.in_qual是一个有效的修饰符,ESQL/C 检查interval变量的修饰符是否与INTERVAL列兼容。如果兼容,则二者属于同一个INTERVAL类型,或者是year to month,或者是day to fraction.
如果不兼容,报错处理。
当二者兼容的情况下,ESQL/C 转换列中的INTERVAL值,使其匹配interval变量。转换是添加或删除INTERVAL列中的某些字段,使其与interval指定的修饰符匹配。可以通过ESQL/C函数 invextend()实现。
- 当interval.in_qual不是一个有效修饰符时,分两种情况
2.1) 获取数据时,ESQL/C使用INTERVAL列的修饰符信息,初始化interval变量的修饰符。
2.2) 插入数据时,如果interval.in_qual不是一个有效的修饰符,或者与INTERVAL不兼容,不能执行插入或更新操作, 报错处理。
隐式数据转换
获取DATETIME或者INTERVAL类型的数据时,可以将其值保存到字符串变量中,例如char, string, varchar。GBase8s ESQL/C自动进行数据转换。
插入DATETIME或者INTERVAL类型的数据时,可以将字符串类型的变量的值插入DATETIME或INTERVAL列中,GBase8s ESQL/C也会自动进行转换。
如果转换失败, 报错处理。