我已执行以下操作来了解我的sysdate,并发现结果与我的任务栏中显示的日期不同。
select to_char(sysdate,'DD-MON-YY HH:MI:SS') from dual;
怎么样?以及如何解决这个问题
答案 0 :(得分:0)
请执行以下内容并发布您的内容:
select
to_char(sysdate,'mm/dd/rr hh24:mi:ss'),
to_char(current_date,'mm/dd/rr hh24:mi:ss'),
systimestamp,
sessiontimezone
from dual;
根据您的评论,我发现时区配置存在差异。因此,您需要修复数据库的时区以与您的操作系统相匹配。时区。
答案 1 :(得分:0)
函数sysdate是运行某个数据库实例的操作系统的日期/时间设置。但这是启动实例的日期时间(和时区)以及在用户(或脚本)的shell或命令提示符中设置的内容启动实例。
例如:如果数据库服务器的时区设置为CET并且您登录此服务器并且无论如何打开具有时区配置GMT的shell并且您(重新)在此shell中启动实例,那么sysdate的时区将是GMT。
如果可能,请使用您希望为sysdate函数设置的时区配置从shell /命令提示符重新启动实例。
BTW:systimestamp与sysdate相同,包括毫秒,但systimestamp还包括sysdate和systimestamp的时区信息。另外,函数dbtimezone不返回用于sysdate的时区。只有systimestamp可以返回sysdate的时区。 dbtimezone用于数据类型“timestamp with local timezone”的列。