1

現在、Facebook からデータを取得して SQL データベースに入れる PHP スクリプトを実行しています。データ取得から 2 時間以内に投稿された Facebook の投稿を確認できるようにしたいと考えていたところ、NOW() コマンドが Facebook サーバーのオフセットよりも 4 時間進んでいることに気付きました。

これにより、次の 3 つの疑問が生じます。

1) 日付を 4 時間オフセットできる選択コマンドを実行する方法はありますか?

2) 行を変更して日付を 4 時間ずらす方法はありますか?

3) これらのメソッドは実際に日付全体を戻すので、日付が今日 (3 月 13 日) の 1:00 である場合、前日 (3 月 12 日) の 21:00 に変更されます。

本当にありがとう!

4

2 に答える 2

1

SQL で日付を使用する任意の場所で、DATEADD 関数を select、insert、および where で使用できます。

 DATEADD(hour,4,datevalue)

戻るには、負の数を使用します

 DATEADD(hour,-4,datevalue)

したがって、この

DECLARE @datetime datetime = '2013-03-13 01:01:01.110';
SELECT DATEADD(hour, -4, @datetime);

これを返します:

2013-03-12 21:01:01.110
于 2013-03-13T17:24:27.630 に答える
1

1) 日付を 4 時間オフセットできる選択コマンドを実行する方法はありますか?

はい、DATEADD/を使用しますDATE_ADD

2) 行を変更して日付を 4 時間ずらす方法はありますか?

データを変更するべきではありません。

3) これらのメソッドは実際に日付全体を戻すので、日付が今日 (3 月 13 日) の 1:00 である場合、前日 (3 月 12 日) の 21:00 に変更されます。

DATEADD/DATE_ADD関数を使用していて、日付がdate型に含まれている場合は、はい。

SQL Server マニュアル

MySQL マニュアル

于 2013-03-13T17:24:55.633 に答える