- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
更新:Timestamp
的构造函数的“秒的分数”参数实际上需要纳秒……我猜是百分之一秒,我的低值被四舍五入了。留题引用....
我正在努力使用 Oracle 的 C++ 库 - OCCI。总结:
Timestamp
对象并验证它们是否适合百分之一秒(尽管我想要更多!)stmt.setTimestamp
然后使用 executeUpdate()
插入到 TIMESTAMP(6)
列中,该列应保留微秒数14-JUL-11 06.03.27.000000000
。我需要亚秒级精度——希望是微秒级!我们已经投入了大量工作来在我们的服务器中捕获这种精度,并且需要(至少部分)它来进行分析。
我从年/月/日小时/分钟/秒/毫秒创建了一个时间戳
,将最后一秒减少到百分之一秒,因为这似乎是构造函数所支持的。 (我找不到任何 Oracle 文档指定解释,但在 fromText
示例中,“xff”显然对应于要转换的值中的“.##”百分之一后缀。有什么意义TIMESTAMP(6)
支持 6 位小数,如果你不能插入它们?)
oracle::occi::Timestamp temp =
oracle::occi::Timestamp(_env, year, month, day,
hour, minute, second, millisecond / 10);
// re-extract the broken-down time from temp to prove it's stored successfully
int ye;
unsigned mo, da, ho, mi, se, fs;
temp.getDate(ye, mo, da);
temp.getTime(ho, mi, se, fs);
return temp;
此处,fs
获得了预期的毫秒/10 值。
我用这个作为:
oracle::occi::Timestamp ts;
ts = _pImpl->makeOracleTimestamp(p->ATETimeStamp);
stmt.setTimestamp(11, ts);
其中字段 11 是 TIMESTAMP(6)
。
在 Oracle SQL Developer 中选择该行,时间戳列的其他部分是正确的,但亚秒部分是 0-ed ala 14-JUL-11 06.03.27.000000000
。
非常感谢任何见解!
(如果相关,使用 MSVC++ 2005、Oracle 10.2.0.4 sdk、SQL Developer 3.0.04 - 请询问是否还有其他相关信息)。
谢谢,托尼
最佳答案
事实证明,“小数秒”字段名义上以纳秒为单位,而不是百分之一。我希望 Oracle 会在他们的文档中这样说!我名义上说是因为如果它真的保留了最低有效数字,那么我所拥有的百分之一的值会以纳秒的形式出现,我可能会立即猜到这个问题——相反,似乎 < 100 纳秒的值无论如何都会丢失(也许更大 - 我还没有探查过分界点)。
感谢任何看过这个问题或尝试过一些研究/调查的人。
关于c++ - Oracle OCCI stmt.setTimestamp 插入 TIMESTAMP(6) : microseconds always 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6691456/
我正在使用 javacv读取 mp4 文件和以下代码来查找视频: FFmpegFrameGrabber frameGrabber; [...] frameGrabber.setTimestamp(ti
我正在开发帐户管理系统。目标是将试用期设置到数据库中。我正在将 Timestamp "2015-10-30 22:55:48" 从 jsonObject 获取到 REST 服务中,并使用准备好的语句插
我的这个项目使用的是 MySQL 数据库。但是现在,我想转向 PostgreSQL。除了有一个时间戳类型列的表外,一切正常。 //MedName is varchar, and DateTime is
在我看来,如果我使用 preparedStatement 将它们插入到我的 mariadb 中,毫秒数会被截断。谷歌搜索没有成功,我发现很多类似的问题已经解决或不适用。但是很难相信我是唯一遇到这个问题
仅在一台特定服务器上出现上述错误,但在其他服务器上则没有。假设是php版本问题。这是触发错误的代码: //get time interval static function get_inter
这是代码的最小版本,我花了很多时间才弄清楚为什么它不起作用: Query q = session.createQuery(queryString); q.setTimestamp(0, new jav
我想知道为什么 setTime 方法的行为与 setDate 完全相同,即没有时间的日期,或者将时间设置为 2014-07-01 13:21:01 它设置为 2014-07-01 00:00:00 ?
本文整理了Java中org.mozilla.zest.core.v1.ZestRequest.setTimestamp()方法的一些代码示例,展示了ZestRequest.setTimestamp()
更新:Timestamp 的构造函数的“秒的分数”参数实际上需要纳秒……我猜是百分之一秒,我的低值被四舍五入了。留题引用.... 我正在努力使用 Oracle 的 C++ 库 - OCCI。总结: 创
我是一名优秀的程序员,十分优秀!