63

Oracle 10g でこの SQL を実行した後:

SELECT SYSDATE, CURRENT_TIMESTAMP  FROM DUAL

私はこの奇妙な出力を受け取ります: クエリの Toad 出力

時間差の原因は?サーバー時刻は SYSDATE 値と同じです

4

6 に答える 6

24

SYSDATESYSTIMESTAMPはデータベースの日付とタイムスタンプを返しますがcurrent_datecurrent_timestampは勤務先の日付とタイムスタンプを返します。

たとえば。インドから仕事をしている私は、パリにあるデータベースにアクセスしています。午後 4 時(IST):

select sysdate,systimestamp from dual;

これは、パリの日付と時刻を返します。

結果

12-MAY-14   12-MAY-14 12.30.03.283502000 PM +02:00

select current_date,current_timestamp from dual;

これにより、インドの日付と時刻が返されます。

結果

12-MAY-14   12-MAY-14 04.00.03.283520000 PM ASIA/CALCUTTA

3時半の時差にご注意ください。

于 2014-05-12T10:43:40.827 に答える
5

SYSDATE は、データベースが存在するシステムのシステム日付を返します。

CURRENT_TIMESTAMP は、データ型 TIMESTAMP WITH TIME ZONE の値で、セッション タイム ゾーンの現在の日付と時刻を返します。

このコマンドを実行します

    ALTER SESSION SET TIME_ZONE = '+3:0';

同じ結果が得られます。

于 2013-07-29T10:57:54.203 に答える
2
  • SYSDATEサーバーの日付と時刻を提供します。
  • CURRENT_DATEクライアント (つまり、システム) の日付と時刻を提供します。
  • CURRENT_TIMESTAMPクリネのデータとタイムスタンプを提供します。
于 2016-04-07T09:24:26.407 に答える
1

注: SYSDATE - 日付のみを返します。つまり、"yyyy-mm-dd" は正しくありません。SYSDATE時、分、秒を含むデータベース サーバーのシステム日付を返します。例えば:

SELECT SYSDATE FROM DUAL; 

次のような出力が返されます: 12/15/2017 12:42:39 PM

于 2017-12-15T18:57:34.107 に答える