Java spring BasicDataSource显示查询结果

时间:2016-01-31 14:52:23

标签: java spring oracle jdbc spring-jdbc

我有一个BasicDataSource对象,其jdbc配置已设置。如果我执行查询,例如:'select sysdate from dual',我会得到结果集:例如。 '30/01/2016 20:20:15'。但是,如果我将此查询作为SQL Developer / Toad中的脚本运行,我会得到

"
SYSDATE  
---------
31-JAN-16
1 row selected.
"

我有兴趣获得相同的输出日志,好像我将在oracle中执行查询作为脚本。怎么可以实现?是否有可用于以我需要的格式返回结果的库/函数?

2 个答案:

答案 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对象,因此不会转换为字符串。