关于 java 按时间条件查询 sql语句

时间:2022-10-12 22:25:54

oracle 按时间查询可以有2种形式

to_date  and  to_char

for example:

// 将数据库字段转成char 进行查询

select * from tableName where to_char(字段名,'yyyy-mm-dd')<='2015-11-11'

//将条件转成date进行查询

select * from tableNmae where 字段名<=to_date('2015-11-11','yyyy-mm-dd')


两者唯一的区别是 前者能查到11-11的数据。

与java结合


         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式

         String time=df.format(new Date());//获取当前时间

        String sql= "select * from tbl_holly_tdlist where to_char( time,'yyyy-mm-dd')<='"+time+"'";


业务需要获取当前一年的时间的数据

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
    Calendar calendar =df.getCalendar();
    Date date = new Date();
    calendar.setTime(date);
    calendar.add(Calendar.YEAR, -1);// 将时间推前一年。
    date = calendar.getTime();
    String sql = "";
    sql+="select * from tbl_holly_tdlist  where to_char( time,'yyyy-mm-dd')>='"+df.format(date)+"' order by time desc";


第一次写,主要是为了以后自己查阅方面,如能帮到别人,那就更好了。