Как получить системную дату и время в oracle sql?

Я использую oracle apex, когда когда-либо пробую код

      SELECT TO_CHAR (SYSTIMESTAMP) "NOW" FROM DUAL

Результат всегда отстает на 5 часов. Может ли кто-нибудь помочь мне с этим запросом?

1 ответ

Чтобы получить время на сервере базы данных:

      SELECT SYSTIMESTAMP FROM DUAL

Или, если вы хотите отформатировать его как строку:

      SELECT TO_CHAR(SYSTIMESTAMP, 'YYYY-MM-DD HH24:MI:SS.FF TZH:TZM')
FROM   DUAL;

Если вам нужно время на клиенте, то:

      SELECT CURRENT_TIMESTAMP FROM DUAL;

или вы можете взять системное время и преобразовать его в местное время:

      SELECT SYSTIMESTAMP AT LOCAL FROM DUAL;

(Или вы можете отформатировать как строку, обернув ее в TO_CHAR)


Примечание. Когда вы указываете «Результат всегда отстает на 5 часов», вам необходимо убедиться, что вы также сравниваете часовые пояса.

db<>скрипка здесь

Другие вопросы по тегам