我无法将此查询从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
答案 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格式。