select *
from table1 rcd,
table2 company
WHERE to_timestamp(to_char(rcd.date), 'YYYY-MM-DD HH:MI:SS') >
to_timestamp(to_char(company.date), 'YYYY-MM-DD HH:MI:SS')
我想使用oracle中的时间戳(to_timestamp
)来比较我的两个日期字段,并且我使用上面的查询,它没有给出正确的结果(给出不大于company.date的记录) )。
知道如何在 Oracle 中使用 to_timestamp
进行比较。
最佳答案
to_char(<date>)
不会生成您正在使用的格式 to_timestamp()
。最安全的方法是重复格式参数:
WHERE to_timestamp(to_char(rcd.date, 'YYYY-MM-DD HH:MI:SS'), 'YYYY-MM-DD HH:MI:SS') >
to_timestamp(to_char(company.date, 'YYYY-MM-DD HH:MI:SS'), 'YYYY-MM-DD HH:MI:SS')
等等。最安全的方法是放弃所有这些转换,只需执行以下操作:
select *
from table1 rcd join
table2 company
on rcd.date > company.date;
关于sql - 在oracle中使用时间戳比较两个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18846666/