我有一个包含TIMESTAMP(6)列的Oracle DB后端
我正在尝试使用occi将一个值插入到此列中。显然,必须使用setTimestamp()方法设置该值,该方法接受occi Timestamp类来绑定值。
然而,我的值是一个unix时间戳,而Timestamp类似乎缺乏任何逻辑来促进从时间戳创建,它只接受小时、分钟……等在构造函数中。
真的没有更简单的方法来做到这一点吗?我真的需要编写自己的逻辑来获取Timestamp类的实例吗?
顺便说一句,我不能在DB端做这个时间戳转换,因为性能原因。
发布于 2021-10-25 22:29:29
Oracle offers fromText方法:
fromText()此方法根据字符串设置时间戳值。字符串应采用指定的格式。如果指定了nlsParam,这将确定要用于转换的nls参数。如果未指定nlsParam,则从已传递的环境中提取nls参数。如果未传入环境,则从实例关联的环境中获取NLS参数。
语法void fromText(const string×tmpStr,const string &fmt,const string &nlsParam = "",const Environment *env = NULL)
参数:
这可以使它更简洁一些,因为如果您已经将date作为字符串,则可以使用字符串,或者如果您正在使用的是tm struct,则可以从tm struct生成一个字符串
https://stackoverflow.com/questions/54792122
复制相似问题