タイム ゾーン情報をレジストリから SQL に取得すると、完全な TZI データ構造が得られます。
DECLARE @TzKey nvarchar(512)
Set @TzKey = 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Pacific Standard Time'
EXEC master.dbo.xp_regread 'HKEY_LOCAL_MACHINE', @TzKey, 'TZI'
完全なバイナリ値を返します
「0xE001000000000000C4FFFFFF00000B000000010002000000000000000000300000002000200000000000000」
しかし、次のように変数に格納すると:
DECLARE @TzKey nvarchar(512)
DECLARE @TZI binary(85)
Set @TzKey = 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Pacific Standard Time'
EXEC master.dbo.xp_regread 'HKEY_LOCAL_MACHINE', @TzKey, 'TZI', @TZI OUTPUT
その後、SELECT @TZI AS TzInfo
戻ります'0xE001'
考えられる限り、binary/varbinary と長さ (MAX を含む) のすべての順列を試しました。
何か案は?