1.文件迭代
/** * 得到更新时间点之后的所有文件列表 */ private void getUpdateFiles(long updatePoint, File root,List<File> files){ File[] _files = root.listFiles(); if(_files!=null){ for(File file : _files){ if(file.isFile()&&isUpdateFile(updatePoint, file.lastModified())){ files.add(file); }else if(file.isDirectory()){ getUpdateFiles(updatePoint, file, files); } } } }
2.获得文件修改时间
long newUpdateTime = f.lastModified(); Calendar cal = Calendar.getInstance(); cal.setTimeInMillis(newUpdateTime); cal.getTime();
3.SQL:找出员工里连续三年工资都超过5%的员工
CREATE table EMP
(
NAMES VARCHAR2(512) not null,
PAYS NUMBER(10) not null,
YEARS NUMBER(10) not null
);
insert into emp values('A',1000,2001);
insert into emp values('A',1200,2002);
insert into emp values('A',1500,2003);
insert into emp values('A',2000,2004);
insert into emp values('B',1000,2001);
insert into emp values('B',1005,2002);
insert into emp values('B',1100,2003);
insert into emp values('B',1200,2004);
insert into emp values('C',1000,2001);
insert into emp values('C',1000,2002);
insert into emp values('C',1001,2003);
insert into emp values('C',1002,2004);
SELECT T.NAMES FROM ( SELECT NAMES,PAYS,LAG(PAYS,1,0) OVER(PARTITION BY NAMES ORDER BY YEARS) AS PRE_VAL,YEARS FROM EMP_TEST ) T WHERE PRE_VAL<>0 AND (PAYS-PRE_VAL)/PRE_VAL>0.05 group by t.names having count(*)>2;RESULT : A