我有一个BasicDataSource
对象,其jdbc配置已设置。如果我执行查询,例如:'select sysdate from dual'
,我会得到结果集:例如。 '30/01/2016 20:20:15'
。但是,如果我将此查询作为SQL Developer / Toad中的脚本运行,我会得到
"
SYSDATE
---------
31-JAN-16
1 row selected.
"
我有兴趣获得相同的输出日志,好像我将在oracle中执行查询作为脚本。怎么可以实现?是否有可用于以我需要的格式返回结果的库/函数?
答案 0 :(得分:0)
这只是表示问题,所以它应该在应用层处理。
仅使用SQL,您可以使用TO_CHAR
将日期格式化为具有特定格式的字符串:
SELECT TO_CHAR(sysdate, 'DD-MON-YY') AS result
FROM dual
答案 1 :(得分:0)
字符串形式的DATE
值的转换由NLS_DATE_FORMAT参数定义。
它可以在会话中修改(使用ALTER SESSION),如下所示
select * from nls_session_parameters where parameter = 'NLS_DATE_FORMAT';
PARAMETER VALUE
------------------------------ ------------------
NLS_DATE_FORMAT DD.MM.RR HH24:MI:SS
select sysdate from dual;
SYSDATE
-----------------
31.01.16 19:07:09
alter session set nls_date_format="dd/mm/yyyy hh24:mi:ss";
select sysdate from dual;
SYSDATE
-------------------
31/01/2016 19:07:29
另请注意,在JDBC中,您通常使用getDate来获取Date
对象,因此不会转换为字符串。