クエリのこの部分を使用して、行が追加された日時のテーブル列を作成しました。
order_date datetime NOT NULL DEFAULT GETDATE()
また、新しい行が作成されるたびに、order_date
のデータは次のように設定されます。
Apr 8 2014 9:52AM
何らかの理由で、行が作成され、order_date
列データが設定されると、時間が1時間前に設定されます。たとえば、上記のApr 8 2014 9:52AM
の列データは午前10時52分に設定されました。
現在の時刻と一致するように1時間先に設定する方法はありますか?
助けてくれてありがとう。すべての助けは大歓迎です。
DATETIMEの代わりに [〜#〜] datetimeoffset [〜#〜] をdaatypeとして使用することを検討する必要があります。
タイムゾーンを認識し、24時間制に基づく時刻と組み合わせた日付を定義します。
SYSDATETIMEOFFSET( )で使用できます。
Returns a datetimeoffset(7) value that contains the date and time of the computer on which the instance of SQL Server is running. The time zone offset is included.
例:
CREATE TABLE DateTest (id INT, order_date DATETIMEOFFSET NOT NULL DEFAULT SYSDATETIMEOFFSET())
INSERT INTO DateTest (id) VALUES (1)
SELECT * FROM DateTest
DATEADD()を使用する
DATEADD(hh, 1, order_date)
編集:
時刻が1時間前に設定されている場合は、システム時刻が間違っている可能性があります。したがって、サーバー管理者に修正を依頼する方がよいでしょう。