2017-08-03 8 views
3

私は、PSTに設定されているAzureサーバー上で実行されている.netアプリケーションを持っていて、UTC時刻に設定されたAzure SQLサーバーに接続しています。私は多くの私のストアドプロシージャで関数getDate()を使用します。タイムゾーンを進めることは重要な問題であり、両者を同期させる必要があります。関数DateAdd(hour、-8、getDate())を使用しても夏時間が考慮されません。私はこれを処理するより良い方法があるのだろうかと思っていました。Azure SQLデータベースの時間問題

答えて

3

datetimeのすべての列をdatetimeoffset(7)列に変更してください。これらの列には、日付と時刻のタイムゾーン情報が格納されます。

次は、GETDATE()の電話番号をSYSDATETIMEOFFSET()に変更してください。

最後に、あなたがAT TIME ZONEキーワード使用して保存された時刻情報に変換することができます:私は、UTC(または他の任意のゾーン)に常にdatetime値を格納しようとしましたし、常に問題に遭遇してきた

SELECT *, 
     [Time] AT TIME ZONE 'Pacific Standard Time' AS PstTime 
FROM  TheTable 
  • を。 datetimeoffset(7)に切り替えると、ほとんどすべての私の問題は解決されました。
関連する問題