2 qq 28573739 qq_28573739 于 2016.03.11 16:29 提问

我要用判断sql查到的时间距离现在是否3天后。
sql

String queryString = "SELECT c.couponname,c.couponfee/100,c.pic1_path,date_format(c.endtime,'%Y-%c-%d') as endTime FROM couponpublish c,couponpool s WHERE s.pubid=c.pubid AND s.owner='"+userId+"' ";
String whereString="";
//优惠卷类别 1.可用;2.历史
if(type==1){
whereString=whereString+" and ( '"+nowTime+"' between c.starttime and c.endtime ) and s.status=3 ";
}else{
whereString=whereString+" and (( '"+nowTime+"' > c.endtime ) or s.status>3 )";
}

        String orderString=" order by c.updatetime ";

        int offset=PagerUtil.getOffset(Integer.valueOf(page),Integer.valueOf(rows));
        List<Map> list=super.findListbySqlReturnMapByPage(queryString+whereString, offset, Integer.valueOf(rows));

        System.out.println(list);        
        attributes.put("coupons", list);

    }else{
        throw new InterfaceException(new ErrorBean(ErrorCode.USER_NO_LOGIN));
    }

    return  attributes;

怎么写判断当前时间是否是查到的时间的三天前,然后写在list里

3个回答

qq_32969313
qq_32969313   2016.03.11 16:45

看下sql的datediff函数,或者读取出时间,转成date类,调用getTime()方法,返回long值再比较

Yiran8935
Yiran8935   2016.03.11 16:47

select floor(to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss'))) as spanDays from dual
上面的处理是求当前日期到07年那天的天数,你把条件改成>3天的就行了

Yiran8935
Yiran8935 to_number(sysdate-to_date('2007-11-02 15:55:03','yyyy-mm-dd hh24:mi:ss')) > 3
接近 2 年之前 回复
qq_28573739
qq_28573739 额,不好意思我没看明白在哪改>3
接近 2 年之前 回复
Royal_lr
Royal_lr   Ds   Rxr 2016.03.11 17:18

首先判断年月相等,,然后判断天数的问题,,

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!