如何在oracle sql中获取系统日期和时间?

soh*_*onu 3 sql oracle localtime oracle-apex systimestamp

当我尝试代码时,我正在使用 oracle apex

SELECT TO_CHAR (SYSTIMESTAMP) "NOW" FROM DUAL
Run Code Online (Sandbox Code Playgroud)

结果总是晚了5个小时。任何人都可以帮我解决这个问题吗?

MT0*_*MT0 5

获取数据库服务器上的时间:

SELECT SYSTIMESTAMP FROM DUAL
Run Code Online (Sandbox Code Playgroud)

或者,如果您想将其格式化为字符串:

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

如果您想要在客户端上花费时间,那么:

SELECT CURRENT_TIMESTAMP FROM DUAL;
Run Code Online (Sandbox Code Playgroud)

或者,您可以将系统时间转换为本地时间:

SELECT SYSTIMESTAMP AT LOCAL FROM DUAL;
Run Code Online (Sandbox Code Playgroud)

(或者您可以通过将其包装为字符串来格式化TO_CHAR


注意:当您声明“结果始终晚于 5 小时”时,您需要确保还比较时区。

db<>在这里摆弄