1

我正在处理两个表ABOracle 11g 并尝试根据具有数据类型的列上的时间戳比较记录(A.TRANSACTION_TIMESTAMP和)B.LAST_TRANSACTION_TIMESTAMPDATE

根据我的尝试,以下查询没有给出预期的输出并返回记录,即使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 上比较日期和时间戳的输入,将不胜感激

4

1 回答 1

3

不要使用 TO_CHAR 进行转换。只需直接比较列。

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

TRANSACTION_TIMESTAMP >= (SELECT LAST_TRANSACTION_TIMESTAMP FROM LAST_RAN_TIME)
于 2013-01-28T04:45:50.743 回答