【问题标题】:Compare two dates based on timestamp on Oracle 11g在 Oracle 11g 上根据时间戳比较两个日期
【发布时间】:2013-01-28 04:39:51
【问题描述】:

我正在处理 Oracle 11g 上的两个表 AB,并尝试根据数据类型为 DATE 的列上的时间戳比较记录(A.TRANSACTION_TIMESTAMPB.LAST_TRANSACTION_TIMESTAMP

根据我的尝试,即使TRANSACTION_TIMESTAMP 小于LAST_TRANSACTION_TIMESTAMP,以下查询也不会给出预期的输出并返回记录

TO_CHAR(TRANSACTION_TIMESTAMP, 'DD-MON-YYYY HH24:MI:SS') >= 
(SELECT TO_CHAR(LAST_TRANSACTION_TIMESTAMP, 'DD-MON-YYYY  HH24:MI:SS') 
  FROM LAST_RAN_TIME)

如果有人能提供一些关于在 Oracle 11g 上比较日期和时间戳的输入,我们将不胜感激

【问题讨论】:

    标签: sql oracle11g timestamp


    【解决方案1】:

    不要使用 TO_CHAR 进行转换。直接比较列即可。

    比较失败,因为您使用的是从一天开始的字符串!

    TRANSACTION_TIMESTAMP >= (SELECT LAST_TRANSACTION_TIMESTAMP FROM LAST_RAN_TIME)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-02
      • 1970-01-01
      • 1970-01-01
      • 2014-01-27
      • 2012-02-01
      • 1970-01-01
      • 2017-07-10
      • 1970-01-01
      相关资源
      最近更新 更多