【问题标题】:How do I get system date and time in oracle sql?如何在 oracle sql 中获取系统日期和时间?
【发布时间】:2021-12-15 01:45:18
【问题描述】:

我每次尝试代码时都在使用 oracle apex

SELECT TO_CHAR (SYSTIMESTAMP) "NOW" FROM DUAL

结果总是落后 5 小时。谁能帮我查询这个问题?

【问题讨论】:

  • 您在寻找数据库服务器上的时间吗?客户端?还有什么?数据库服务器使用什么时区?您希望结果在哪个时区?
  • 试试systimestamp at localcurrent_timestamp。 (我会写这个作为答案,但我没有 Apex 可以测试。)

标签: sql oracle oracle-apex localtime systimestamp


【解决方案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小提琴here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-23
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 2017-03-28
    • 1970-01-01
    相关资源
    最近更新 更多