我有下面的表:轉換日期爲UTC時間戳在MySQL
|start_date |TZ |
|Dec 2, 2012 |Eastern |
|Dec 2, 2012 |GMT |
注1:我們的服務器是在UTC時間。
注2:列start_date是日期字段,而不是時間戳字段。 2012年12月2日意味着「2012-12-02 00:00:00」
注3:上表實際上是多個標準化表,但爲簡單起見,我對其進行了標準化。
注意4:我可以把任何東西放到TZ表中,以使這種簡單。
我想select from my_table where start_date <= now()
然而,這並不因爲時區的工作。如果當前日期/時間爲012年12月1日東部時間晚上9點(即12月2日凌晨1點UTC),則上述查詢將返回兩個結果 ,但我真的只想要第二個。夏令時使這變得更加複雜。
理想情況下,我想一個查詢,執行以下操作:
select * from my_table where convert_to_utc_timestamp(start_date,tz) <= now()
上述方法將起始日期轉換爲時間戳,然後將其轉換爲正確的時區。
我該如何在SQL中執行此操作?
@Tihom:有時候,制定需要問的問題是我最需要的答案。 – spencer7593