使用Oracle TIMESTAMP WITH TIMEZONE数据类型创建日期/时间范围

时间:2010-08-30 23:37:34

标签: sql database oracle

如何为TIMESTAMP WITH TIMEZONE时间戳创建日期/时间范围,范围精度低至秒级?

这是我的示例查询,但是我只能创建范围到日期级别:

SELECT COLUMN_NAME, MY_TIMESTAMP
FROM TABLE_NAME
WHERE (MY_TIMESTAMP BETWEEN SYSDATE - INTERVAL '1' DAY 
  AND SYSDATE - INTERVAL '0' DAY)
ORDER BY MY_TIMESTAMP

以下是数据库使用的TIMESTAMP格式:

30-AUG-10 04.20.00.109000 PM -07:00

感谢。

1 个答案:

答案 0 :(得分:1)

在INTERVAL上使用'SECOND'限定符,如:

SELECT COLUMN_NAME, MY_TIMESTAMP 
  FROM TABLE_NAME 
  WHERE MY_TIMESTAMP >= SYSDATE - INTERVAL '3600' SECOND
  ORDER BY MY_TIMESTAMP 

以上内容应该为您提供最后一小时内所有时间戳的行。

您可能需要使用SYSTIMESTAMP而不是SYSDATE来解决TIMESTAMP WITH TIMEZONE引发的问题。

分享并享受。