38 lines
1.2 KiB
Plaintext
38 lines
1.2 KiB
Plaintext
DELIMITER //
|
|
|
|
CREATE OR REPLACE FUNCTION cloud_addtime(
|
|
p_date_utc DATETIME
|
|
)
|
|
/*
|
|
Function : 因為所有的雲端主機, 都是存 UTC, 要 -8 換為 Taipei 時間
|
|
Description: 1.如果有多國的來源, 這個方法並不徹底, 目前先暫用
|
|
2.目前測試 -8 看起來就正常
|
|
3.這個 udf 只是單純地在 select xx日期 時, 將時間 -8 hrs, 並不會異動資料庫的內容
|
|
純粹是配合 Azure Cloud 主機的運作而已
|
|
SELECT cloud_addtime(NOW())
|
|
Build Date : 2022/12/03
|
|
|
|
Modify History
|
|
Item Who Date Modify Docs
|
|
==== ========== ========== ================================================
|
|
1 Michael 2022/12/03 Init
|
|
*/
|
|
RETURNS DATETIME
|
|
DETERMINISTIC
|
|
BEGIN
|
|
DECLARE v_date_taipei DATETIME;
|
|
DECLARE v_diff SMALLINT;
|
|
|
|
-- 從系統參數取得時差,預設為8小時
|
|
SELECT pvalue INTO v_diff FROM sys_parameter WHERE systemid = 'sys' AND pid = 'diff_hours';
|
|
IF v_diff IS NULL THEN
|
|
SET v_diff = 8;
|
|
END IF;
|
|
|
|
-- 將UTC時間轉換為台北時間
|
|
SET v_date_taipei = DATE_SUB(p_date_utc, INTERVAL v_diff HOUR);
|
|
|
|
RETURN v_date_taipei;
|
|
END //
|
|
|
|
DELIMITER ; |