【发布时间】:2015-01-15 17:42:02
【问题描述】:
我有一个表,其中recorded 列定义为timestamp,如下所示:
TIMESTAMP(6) RECORDED
我想选择所有在 2 个时间戳之间“记录”的记录。为此,我编写了以下查询:
SELECT * FROM myTable WHERE
recorded BETWEEN 1414794711050 AND 1415399511053;
执行此操作时出现错误
ORA-00932:不一致的数据类型:需要 TIMESTAMP,得到 NUMBER 00932. 00000 - “不一致的数据类型:预期的 %s 得到了 %s”
我也试过了:
SELECT * FROM myTable WHERE
recorded BETWEEN to_timestamp(1414794711) AND to_timestamp(1415399511);
这个查询是如何工作的?
【问题讨论】:
-
“1414794711050”是unix时间戳吗? (从 1970 年 1 月 1 日开始的秒数)
-
它是从 1970 年 1 月 1 日开始的毫秒数,但取秒数是没有问题的,即除以 1000 并截断。