请先看如下代码:
public List getWorkDays(final String empCode){
return (List)getHibernateTemplate().execute(new HibernateCallback(){
public List doInHibernate(Session session) throws HibernateException,SQLException{
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String dateStr = sdf.format(date);
String sql = "SELECT work_day,work_day_1 FROM (SELECT a.work_day,lag(a.work_day,1,NULL)" +
" over(ORDER BY a.work_day) AS work_day_1  FROM T_HR_WORK_DAY_EMP A " +
"WHERE A.EMP_CODE="+empCode+" AND A.WORK_DAY<="+dateStr+" AND a.v_flag||a.n_v_flag IS NULL)" +
" WHERE work_day="+dateStr;
SQLQuery query = session.createSQLQuery(sql);
Object[] o = (Object[]) query.uniqueResult();
System.out.println(sql);
System.out.println(o[0]);
System.out.println(o[1]);

return query.list();
}
});
}生成的SQL在pl/sql developer中执行的结果是一条记录:20090316,20090313,即员工当前工作日与前一个工作日,但是输出语句的结果却是:2,20090313。即输出结果的第一个字段只输出了首字母,这是为什么?第一次发帖,请各位高手指教,在线等。