1

州でホストされているSQLServer2005を使用しています。間もなく、dbをヨーロッパに移動します。タイムゾーンの違いを考慮して、データベースの日付を更新したいと思います。これを行う良い方法はありますか?それとも、日付をループしてタイムゾーンオフセットを追加するだけの場合ですか?

4

2 に答える 2

3

物理的に動かされたので本当に変える必要がありますか?グローバルアプリケーションをサポートしている場合は、すべての日付/時刻情報をGMTで保存し、クライアント側でローカルに変換します。

于 2009-02-01T06:07:35.970 に答える
2

データベースに日付/時刻を一定のタイムゾーンで保存する必要があると思います.GMT(他のタイムゾーンに変換するのは非常に簡単であるため)またはGMTでない場合はサーバーの現在のタイムゾーンのいずれかです。

後者のオプションが理にかなっている唯一の理由は、CURDATE 関数を使用してデータベースからレコードを挿入/フィルタリングするためです。それ以外の場合は GMT が最適なオプションです。

DATEADD で DATEDIFF を使用してみることができますが、DST のため、常に正確な時刻が得られるとは限りません (場合によっては 1 時間ずれます)。

SQL Server 2005 には、タイムゾーンの変換に関する既知の制限があります。詳細については、次のリンクを参照してください: http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=308563

于 2009-02-01T06:17:17.277 に答える