まず、私はインド出身で、米国の顧客のために働いていますので、US(アメリカ)データベースを使用しています。 私は現在のSysdateと時間を表示しようとしましたが、米国時間を示しています。インドの現在の時間を表示したい。現在のsysdateと時刻
select sysdate from dual;
まず、私はインド出身で、米国の顧客のために働いていますので、US(アメリカ)データベースを使用しています。 私は現在のSysdateと時間を表示しようとしましたが、米国時間を示しています。インドの現在の時間を表示したい。現在のsysdateと時刻
select sysdate from dual;
SELECT TO_CHAR
(SYSDATE, 'MM-DD-YYYY HH24:MI:SS') "NOW"
FROM DUAL;
NOW
-------------------
04-13-2001 09:45:51
米国時間を表示しています。タイムゾーンに基づいて時刻を表示したいです。 –
DUALからSELECT CURRENT_DATE; –
システム時間をインドのタイムゾーンに変更してください。私はこれがうまくいくと思います。また
ALTER SESSION SET TIME_ZONE = 'アジア/カルカッタ' time_zoeあなたのセッションを変更してみてください。
通常、データベース開発者は、DB操作サーバーのタイムゾーンを変更するアクセス権がありません。 –
@WernfriedDomscheitこれは現在のユーザーセッションでのみ変更されます。一般的にユーザーに与える多くのアクセスと考えています。 –
あなたのセッションでは、もちろんあなたが望むことをすることができます。しかし、アドバイスは "あなたの**システム**時間を変更する" - それは難しいかもしれない。 –
次の例私はそれが
https://community.oracle.com/thread/3958062
https://docs.oracle.com/database/121/SQLRF/functions117.htm#SQLRF00671
を役に立てば幸い、これを試してくださいCURRENT_TIMESTAMPは、セッションのタイムゾーンに敏感であることを示しています
ALTER SESSION SET TIME_ZONE = '-5:0';
ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS';
SELECT SESSIONTIMEZONE, CURRENT_TIMESTAMP FROM DUAL;
SESSIONTIMEZONE CURRENT_TIMESTAMP
--------------- ---------------------------------------------------
-05:00 04-APR-00 01.17.56.917550 PM -05:00
ALTER SESSION SET TIME_ZONE = '-8:0';
SELECT SESSIONTIMEZONE, CURRENT_TIMESTAMP FROM DUAL;
SESSIONTIMEZONE CURRENT_TIMESTAMP
--------------- ----------------------------------------------------
-08:00 04-APR-00 10.18.21.366065 AM -08:00
使用 'CURRENT_DATE'、' CURRENT_TIMESTAMP'は、現在の日付を返します。セッションタイムゾーン 'sysdateとsystimestamp'は、システム(サーバ)のタイムゾーンに戻ります。 –