SQL Server'da Verilen bir datetimeoffset(7)
ofsetini bulmam gerekiyor.SQL Server'da datetimeoffset ofset alma
Belgeleri araştırdım ve belirli bir değerin ofsetini bilmemenin bir yolu değil, ofseti değiştirmenin tüm yolları var.
Ben işe yaramış gibi görünse de, çok karmaşık bulduğum aşağıdaki kod parçası ile geldim.
DECLARE @datetimeOffset datetimeoffset(7)
SET @datetimeOffset = CAST('2007-05-08 22:35:29.1234567-05:00' AS datetimeoffset(7))
DECLARE @result datetimeoffset(7)
DECLARE @offsetMin int
SET @offsetMin = DATEDIFF(mi, cast(SWITCHOFFSET(@datetimeOffset, '+00:00') as datetime), cast(@datetimeOffset as datetime))
SELECT @offsetMin
Hala 00 dönüştürmeyi yapmak zorunda: 00 formatında ama bunu yapmanın daha iyi bir yolu olup olmadığını kontrol etmek istedim.
Teşekkürler!
Ayrıca DATENAME (tz, @datetimeoffset) ofsetini bir varchar olarak almak için de alabilirsiniz. –
'TZOFFSET'' tz' yerine çalışır ve değerinin ne olduğu SSMS sözdizimi vurgulayıcı tarafından tanınır. –
Bu yalnızca SSMS 2012+ sürümlerinde çalışır – codeMonkey