-1
我的系統昨天返回所有數據,但它應該做的是它應該從今天返回所有數據,我的代碼在本地數據庫中工作,但是當我上傳它時在網絡上,並開始使用在線數據庫出現問題GETDATE()與我的系統時間不匹配
這裏是我的SQL代碼:
CREATE PROCEDURE [dbo].[DisplayReservationToday]
AS
SELECT DISTINCT
r1.RESERVATION_ID, r4.LAST_NAME + ', ' + r4.FIRST_NAME AS NAME,
r2.ROOM_ID, r3.ROOM_TYPE, r2.NO_GUEST,
CONVERT(DATE, r2.ARRIVAL_DATE) AS ADate,
CONVERT(DATE, r2.DEPARTURE_DATE) AS DDate, r2.STATUS
FROM
TBL_Transaction AS r1, TBL_SubTransaction AS r2,
TBL_Room AS r3, TBL_Client AS r4
WHERE
r1.RESERVATION_ID = r2.RESERVATION_ID
AND r2.ROOM_ID = r3.ROOM_ID
AND r1.USERNAME = r4.USERNAME
AND UPPER(r2.STATUS) != UPPER('Cancelled')
AND CONVERT(DATE, r2.ARRIVAL_DATE) = CONVERT(DATE, GETDATE())
可能是您的網絡服務器是不同的時區域 –
所以我的代碼可以嗎?我唯一應該做的就是聯繫我的在線服務器? – Newbie10
就像@Prdp說的那樣,你的數據庫服務器所在的時區與你自己的位置有所不同。一種中和時區差異的方法是使用UTC作爲存儲和檢索數據的標準,並使用'GETUTCDATE()'而不是'GETDATE()'。你總是可以重置數據庫服務器上的時區以及備用解決方案 – ughai