我的代码:
DECLARE
BEGIN
-- outputs 06-DEC-18
dbms_output.put_line(sysdate);
-- also outputs 18-DEC-06
dbms_output.put_line(to_date(sysdate,'yyyy-mm-dd hh24:mi:ss'));
END;
/
输出仅显示日期。我也想赶时间。
最佳答案
SYSDATE
确实有时间成分。第一个 输出 06-DEC-18
因为您的 session 参数 NLS_DATE_FORMAT
设置为 DD-MON-YY
.
你有这些选择。
使用 TO_CHAR
dbms_output.put_line(TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss'));
修改
NLS_DATE_FORMAT
显示时间。ALTER SESSION SET NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss';
BEGIN
dbms_output.put_line(SYSDATE);
END;
/
或使用
SYSTIMESTAMP
显示更高的时间精度,如毫秒。BEGIN
dbms_output.put_line(SYSTIMESTAMP);
END;
/
关于oracle - 如何在plsql中获取当前日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53644486/