DATE_SUB()
函數本身不能直接處理時區轉換
SELECT CONVERT_TZ(DATE_SUB('2021-10-01 12:00:00', INTERVAL 5 HOUR), 'UTC', 'Asia/Shanghai');
在這個示例中,我們首先使用 DATE_SUB()
函數從 UTC 時間 ‘2021-10-01 12:00:00’ 中減去 5 小時。然后,我們使用 CONVERT_TZ()
函數將結果轉換為 ‘Asia/Shanghai’ 時區。
請注意,您需要確保 MySQL 服務器已加載時區表。如果尚未加載,可以使用以下命令加載:
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
這將從系統的時區文件中提取時區信息并將其導入到 MySQL 數據庫中。