【发布时间】:2015-04-07 02:57:50
【问题描述】:
我有一个 oracle 数据库,我想检索过去几天或过去 10 分钟的数据:
我首先使用这个命令:
alter session set nls_date_format='dd-mm-yyyy hh24:mi:ss'
然后这个:
select TIMESTAMP, TARGET_NAME, TARGET_TYPE, COLUMN_LABEL, VALUE, KEY_VALUE from METRIC_TABLE where TIMESTAMP > sysdate -1
这个命令没有给我最后几天的数据,它只给我最后几个小时的数据。我怀疑 TIMESTAMP 列不是 Oracle 数据时间格式。
在执行此操作之前有没有办法将 TIMESTAMP 格式化为 Oracle 时间戳格式:
TIMESTAMP>SYSDATE -1
【问题讨论】:
-
你为什么要猜?你不能看看你的架构吗?
-
@PM77-1,我不能它不是我的数据库。我没有权利。
-
@user1471980: DESC metric_table;或从 metric_table 中选择 dump(timestamp) where rownum = 1;或 select * from all_tables where table_name = 'METRIC_TABLE';如果您可以运行上面的查询,您当然可以看到表定义。
-
@Ditto,DESK metric_table 显示我的 TIMESTAMP 列是 DATE。但是,当我在 TIMESTAMP > SYSDATE-1 处执行操作时,我只能获得几个小时的数据。我应该得到一天的数据。
-
然后在下面使用 Ollie 的答案。
标签: oracle