タイムゾーンなしで、Axapta-tables からタイムスタンプを取得する必要があります。TSQL
たとえば、 table からJMGABSENCECALENDAR
。
これを最初のアプローチとして取り、これに関しては、現在の時間で機能します。しかし、他のタイムスタンプを参照してテーブルからデータを読み取ると、2 番目のリンクで提供されるソリューションでは、指定された時刻までの夏時間に関する情報が取得されません。
例えば:
本日(2012-01-07)の欠席を追加します。ここで、SSMS を使用してこのデータセットを読み取ると、
開始時間 =2013-01-06 23:00:00.000
および終了時間 =2013-01-07 23:00:00.000
大丈夫です、使えます
DECLARE @UTCOffset SMALLINT
EXEC master..xp_regread
'HKEY_LOCAL_MACHINE',
'SYSTEM\CurrentControlSet\Control\TimeZoneInformation',
'ActiveTimeBias',
@UTCOffset OUTPUT
SELECT DATEADD(MINUTE, @UTCOffset, GETDATE()) AS UTCTime
オフセットを削除します。これは実際の日付では問題なく機能しますが、過去または未来の時間のオフセットを削除する正しい方法は何2012-07-01
ですか?
ここでは、夏時間のため、オフセットは 120 分です。Reg-Value を読み取ると、現在のオフセットのみが返されます。
このタスクは、TSQL 2008 で解決する必要があります。