On Tue, 2026-03-03 at 10:10 +0000, Nandish Bhuva wrote:
> As mentioned previously:
>  * empjob_utc_update_date stores UTC values (but is defined as timestamp 
> without time zone)
>  * jstsk_lst_end_tm stores Canada/Pacific local time (also timestamp without 
> time zone)
>
> Our goal is to convert both timestamps to a common timezone (for example, 
> UTC) within the query itself to ensure accurate comparison.
> I attempted the following:
> 
>    1. 
>       SELECT
>     (to_timestamp('2026-02-19 01:23:46.016',
>     'YYYY-MM-DD HH24:MI:SS.FF3')
>     AT TIME ZONE 'Canada/Pacific')
>     AT TIME ZONE 'UTC' AS utc_time;

to_timestamp() returns a "timestamp with time zone", so that won't work.

>    2. 
>       select ej.empjob_utc_update_date ,
>              (SELECT jstsk_lst_end_tm AT TIME ZONE 'Canada/Pacific' AT TIME 
> ZONE 'UTC'
>               FROM jobskd_task
>               WHERE jstsk_desc = 'ALERT - VCH - Team approver Changes'
>                 AND jstsk_deleted = 'N'
>               order by jstsk_lst_end_tm
>               desc
>               limit 1) as job_last_run_time
>       from employee_job ej
>       where ej.empjob_utc_update_date >= (SELECT jstsk_lst_end_tm
>                                           FROM jobskd_task
>                                           WHERE jstsk_desc = 'ALERT - VCH - 
> Team approver Changes'
>                                             AND jstsk_deleted = 'N'
>                                           limit 1)

The timezone conversion is done correctly, provided that "jstsk_lst_end_tm"
is really of data type "timestamp without time zone" and has "Canada/Pacific"
time stored.

> However, the result does not appear to be converting correctly in our actual 
> comparison scenario.

Please be precise.

What is the value stored, the value that the query returns, and what is
what you would consider the correct value?

> Could you please advise on the correct way to:
>    1. Treat empjob_utc_update_date explicitly as UTC
>    2. Treat jstsk_lst_end_tm explicitly as Canada/Pacific

How do you treat a "timestamp without time zone" as UTC?
Please be specific.

>    3. Convert both to the same timezone (e.g., UTC) within a SELECT query

That's what I showed you, and what you say is not correct.

>    4. Compare them accurately without modifying stored data

jstsk_lst_end_tm AT TIME ZONE 'Canada/Pacific' AT TIME ZONE 'UTC' = 
empjob_utc_update_date


Yours,
Laurenz Albe


Reply via email to