我想在我的時區中選擇一天,例如:
從 2021-09-09 00:00 02 到 2021-09-10 00:00 02。但是下面的代碼:
set timezone TO 'Europe/Berlin';
SELECT TIMESTAMP::timestamptz,sensor_id,value
FROM my_table
WHERE sensor_id IN (1,2,3)
AND TIMESTAMP > '2021-09-09' AND TIMESTAMP < '2021-09-10'
ORDER BY TIMESTAMP
給我正確的值,但時區錯誤,例如第一行是:
timestamp,sensor_id,value
2021-09-09 02:00 02,1,21
2021-09-09 02:00 02,2,34
2021-09-09 02:00 02,3,54
但應該是 2021-09-09 00:00 02 或 2021-09-08 22:00 00
當冬季和夏季與UTC的差異發生變化時,問題就更大了
任何人都可以幫助我嗎?
PostgreSQL v.12
uj5u.com熱心網友回復:
SELECT TIMESTAMP::timestamptz AT TIME ZONE 'CETDST',sensor_id,value
FROM my_table
WHERE sensor_id IN (1,2,3)
AND TIMESTAMP AT TIME ZONE 'CETDST' > '2021-09-09'
AND TIMESTAMP AT TIME ZONE 'CETDST' < '2021-09-10'
ORDER BY TIMESTAMP
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/408979.html
標籤:
