0
我的控制檯是PST。 數據庫服務器和存儲的時間是GMT。特定時區的索引時間戳
我不必像這樣運行查詢:
SELECT x,y,z
FROM tbl_msg
WHERE (msg_datetime AT TIME ZONE 'BST') BETWEEN '2016-11-21'::date and '2016-11-22'::date;
索引101表示,在msg_datetime執行此操作,現在將避免指數,這是我所看到的。
所以我需要一個索引解決方案的建議。
我可以索引這個時區嗎?或改變這個查詢,以便它在BST中查詢這些時間,轉換爲GMT?
這是有趣的設置連接時區。我只看到了「AT TIME ZONE'XXX'」。 這可能是答案,它允許我在BST時間傳遞並將其轉換爲GMT/UTC,而不必將GMT/UTC轉換爲BST。 –
我看到你提到不使用BST。這就是我必須像這樣施放的全部原因。用戶是BST,並且想要使用BST術語在應用程序中進行搜索。 這就是爲什麼我將數據轉換爲不同的時區,因爲我們需要允許發生時區感知轉換,因此如果需要,需要考慮該小時 –
您錯了 - 您沒有BST用戶。你可能有「歐洲/倫敦」用戶,它使用BST時區(UTC + 1)半年(因爲它不是今天,因爲它在北半球是冬天),以及另一個半年(與今天一樣)的GMT時區。例如,您可能會使用夏季使用CEST(UTC + 2)和冬季使用CET(也是UTC + 1)的「歐洲/華沙」客戶端。 – Tometzky