Oracle Occi- UNIX时间的时间戳



我有一个带有TIMESTAMP(6)列的Oracle DB后端

我正在尝试使用OCCI将值插入此列中。显然,必须使用setTimestamp()方法设置该值,该方法接受OCCI Timestamp类以绑定值。

但是,我的价值是一个Unix时间戳,Timestamp类似乎缺乏任何逻辑来促进时间戳创建,它仅接受构造函数中的小时,分钟...等等。

真的没有更简单的方法吗?我真的必须写自己的逻辑才能获得Timestamp类的实例吗?

我不能做这个时间戳转换DB侧,顺便说一句 - 绩效原因。

oracle提供 fromText 方法:

fromText()此方法从字符串中设置时间戳值。该字符串预计将以指定的格式。如果指定了NLSPARAM,则将确定用于转换的NLS参数。如果未指定NLSPARAM,则从已通过的环境中拾取NLS参数。如果环境未传递,则从与实例相关的环境中获得NLS参数(如果有)。

语法void fromText(const string& timestmpstr,const string& fmt,const字符串& nlsparam =; quot; quort环境 *env = null)

参数:

  • timestmpstr输入字符串
  • FM格式字符串
  • NLSPARAM语言名称(当前对英语和美国的支持)
  • 将使用其NLS参数的环境。

这可能会使它变得更加清洁,因为如果您已经将日期作为字符串作为字符串,则可以使用字符串,或者可以从TM struct制作

(如果是)

最新更新