7

SQL Server上の特定のデータベースの日時を変更することはできますか?

オペレーティングシステムの日付/時刻に関連付けられていますか?

テストの目的で将来の日時をシミュレートしたいので、将来GETDATE()の日付を返します。

セミプロダクション(ステージング)環境にする必要があるため、残念ながらOSの日付/時刻を変更することはできません。

理想的な世界では、仮想サーバーを起動しますが、現時点では実際にはオプションではありません。

4

5 に答える 5

3

残念ながら、OS の日付と時刻に関連付けられています。ここを参照してください: http://msdn.microsoft.com/en-us/library/ms188383.aspx

この値は、SQL Server のインスタンスが実行されているコンピューターのオペレーティング システムから取得されます。

于 2011-11-23T17:34:52.900 に答える
3

他の人が述べたように、No.

本当にハックな回避策は、必要な日付を返す独自の関数を作成し、テストが終了したときに GETDATE() を返すようにし、代わりにその関数を呼び出すことです。これを行うにはおそらく多少のオーバーヘッドがありますが、必要なことは実行できます。

于 2011-11-23T17:38:02.587 に答える
2

いつでもこれを使用して、それに応じて調整できます。

SELECT getutcdate()

詳細については、以下を参照してください。 StackOverflow の質問

GETDATE()しかし、サーバーの日付を変更せず に結果を変更する方法はありません。


追加:必要に応じて実行 できますが、EXEC xp_cmdshell 'DATE 10/10/2011'お勧めしません。

于 2011-11-23T17:35:11.507 に答える
0

あなたに代わって計算を行い、それを適用するユーザー関数を作成できると思います。

http://msdn.microsoft.com/en-us/library/ms186755.aspx

また、列のデフォルト値としても使用できます。

SQL 2005 で列の既定値を関数にバインドする

于 2011-11-23T17:39:10.037 に答える