一,本地時間和UTC時間
本地時間
世界的每個地區都有自己的本地時間,整個地球分為二十四時區,每個時區都有自己的本地時間。
UTC時間
在國際無線電通信中,為統一而普遍使用一個標准時間,稱為通用協調時(UTC, Universal Time Coordinated)。UTC時間和英國倫敦的本地時間相同。
UTC時間在世界各地都是相同的,但是不同的時區,本地時間各不相同。根據UTC時間和所在的時區,能夠計算出本地時間。
二,獲取本地時間和UTC時間
在Sql Sever中,GetDate()返回的是本地時間,GetUTCDate()返回的是UTC時間,返回的數據類型是DateTime;SysDateTime() 返回的是本地時間,SysUTCDateTime() 返回的是UTC時間,返回的數據類型是DateTime2(7)。
在不同的時區,UTC時間相同,但是本地時間不同。本地時間是Server上顯示的系統時間,在OS中變更時區(time zone),能夠修改本地時間和GetDate()的返回值。本地時間是根據UTC時間和OS設置的時區推導出來的。
結論:GetDate() 和SysDateTime() 返回的是本地Server的Date和Time,這個值跟Sql Server實例所在的PC的OS有關,跟OS顯示的時間是相同的。
三,Sql Agent 執行Job的時間
在Sql Server Agent中使用的時間是本地時間,Job的執行時間是本地時間。