2013-07-11 32 views
1

是否可以將MySQL(在運行時)配置爲對所有查詢使用UTC,而對所有SELECT查詢使用另一個時區?Mysql:爲選擇查詢設置time_zone,UTC爲其他所有設置

我使用UTC存儲所有日期(此外,應用程序將始終將UTC日期時間傳遞給MySQL),並將MySQL配置爲以UTC運行(使用SET time_zone = '+0:00');但有沒有辦法讓它自動將所有SELECT翻譯成另一個時區?

我意識到我可以在代碼中做到這一點,但如果我可以讓MySQL爲我做這件事會容易得多。

要清楚:我還想只運行一次命令,而不是爲每個查詢使用任何日期/時間格式化函數。在MySQL功能

+0

也許你可以讀取數據庫的時區,並添加根據它/。減去? – Ariane

回答

1

用戶CONVERT_TZ()

SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET'); 

編號:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_convert-tz

+0

謝謝,但這必須完成*每個查詢*;我正在尋找一種可以定義一次的解決方案,MySQL eill將'TIMEZONE_X'應用於所有'SELECTS',並將UTC應用於其他任何應用。 – HelloPablo

+0

在我的項目中,我使用這種方式讓我們試試答案,這對我們來說是一個很好的問題 – Sundar