使用Eclipse的Oracle NLS_DATE_FORMAT

时间:2016-02-18 12:59:59

标签: java eclipse oracle

我遇到NLS_DATE_FORMAT问题。

我跑了这个:

ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24: MI: SS';
ALTER SESSION SET NLS_TIME_FORMAT = 'HH24: MI: SSXFF';
ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH24: MI: SSXFF';

在服务器上显示sysdate => 2016-01-18 =>行

但是当我从java运行SQL脚本时,它总是显示18-FEB-16。 如何在不编辑源代码的情况下更改为2016-01-18。?

1 个答案:

答案 0 :(得分:1)

我不知道JAVA特定的配置,但你可以在DB上创建一个after 登录触发器来改变NLS配置:

How to change default nls_date_format for oracle jdbc client

CREATE OR REPLACE TRIGGER LOGINTRG
AFTER LOGON ON DATABASE
BEGIN
   if user = 'MYUSER' then -- if you can do that better
   EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_DATE_FORMAT=''YYYY-MM-DD HH24:MI:SS''';
   end if;
END LOGINTRG;

我建议在连接用户是您的应用程序使用的用户时添加if语句。