我需要獲取此SQL查詢以在運行以下查詢時輸出正確時區中的時間。在SELECT語句中獲取SQL 2012中的正確時區
SELECT
CAST([StartDateTime] AS time(0)) AS 'time'
from appointment
當我運行它時,它當前返回所有UTC時間,我需要EST。我已經嘗試了switchoffset命令,它可以工作,但我只需要時間來顯示,而不是日期和時間。
我需要獲取此SQL查詢以在運行以下查詢時輸出正確時區中的時間。在SELECT語句中獲取SQL 2012中的正確時區
SELECT
CAST([StartDateTime] AS time(0)) AS 'time'
from appointment
當我運行它時,它當前返回所有UTC時間,我需要EST。我已經嘗試了switchoffset命令,它可以工作,但我只需要時間來顯示,而不是日期和時間。
這應該工作:
SELECT CAST(DATEADD(HH,-5,[StartDateTime]) as time) AS 'time'
FROM appointment
這就是我所需要的。非常感謝分享。 – Derick 2015-02-06 20:02:07
這不考慮夏令時。請記住,美國東部時間的一年的一部分遵循UTC-4而不是UTC-5。 – 2015-02-06 21:15:20
試試這個
DECLARE @appointment TABLE
(
id integer,
StartDateTime datetime
)
INSERT INTO @appointment SELECT 1, '1/1/2014 13:30'
INSERT INTO @appointment SELECT 2, '1/4/2014 4:00'
INSERT INTO @appointment SELECT 3, '1/6/2014 15:30'
INSERT INTO @appointment SELECT 4, '1/8/2014 23:00'
SELECT
CAST(SWITCHOFFSET(CONVERT(DATETIMEOFFSET, StartDateTime), '+01:00') as TIME(0)) as StartDateTime
FROM @appointment
什麼投用'switchoffset'一次返回的日期只是爲了獲得科目編號的時間?順便說一句,你可以展示它返回的內容以及你如何使用它 – Rocketq 2015-02-06 19:52:15