在PostgreSQL中从oacle运行此查询?

时间:2019-01-28 15:09:50

标签: sql postgresql

我无法将此查询从oracle转换为posgresql。任何帮助将不胜感激。

Select tdcollid, tddate, tdentry, tdlng, tdlat, tdvpid 
From Tracking where Tdcollid = 'jperez'
And Trunc(Tddate) = Trunc(To_Date('14-DEC-16','yyyy-MM-DD')) 
order by Tddate

2 个答案:

答案 0 :(得分:0)

您可以这样做:

Select tdcollid, tddate, tdentry, tdlng, tdlat, tdvpid
From Tracking
where Tdcollid = 'jperez' And
      ttdate >= '2016-12-14'::date and
      ttdate < '2016-12-14'::date + interval '1 day'
order by Tddate;

请注意,安排了日期比较,以便可以使用索引(如果适用)。如果不必担心,可以使用与ttdate::date = '2016-12-14'::date相同的逻辑。

答案 1 :(得分:-1)

尝试这样的事情:

SELECT tdcollid, tddate, tdentry, tdlng, tdlat, tdvpid
FROM tracking
WHERE tdcollid = 'jperez'
  AND ttdate::date = '2016-12-14'::date
ORDER BY tddate

如果tddate是时间戳记,则将其强制转换为::date与Oracle的TRUNC(timestamp)相同。另外,日期常量应该使用ISO-8601格式。