GETUTCDATE() and Time Zone (SQL Server)

前端 未结 4 1994
小鲜肉
小鲜肉 2020-12-22 03:30

I want to add my time zone with the function GETUTCDATE() in SQL Server. I searched several times, but did not found any relevant solution. Thanks in advance.

4条回答
  •  清歌不尽
    2020-12-22 04:15

    only for sql 2016, it takes into account daylight savings.

    CREATE FUNCTION GetBelgiumTime 
    (
    )
    RETURNS datetime2
    AS BEGIN  
           declare @dateoffset datetimeoffset
           SET  @dateoffset = convert(VARCHAR(2000),(SELECT GETUTCDATE() AT TIME ZONE  'Central European Standard Time'),126 )
    
    
           declare @date datetime2
           set @date = convert(datetime2, LEFT(@dateoffset,28),126)
    
        set @date = DATEADD(HOUR, convert(int,LEFT(RIGHT(@dateoffset,5), 2)), @date) 
           RETURN @date
    END
    
    select  dbo.GetBelgiumTime() as BelgiumDateAndTime 
    

提交回复
热议问题