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
进行比较。
答案 0 :(得分:5)
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;