mysql中 time格式的字段,如何在Cnd中编写查询语句,用的 > < 查询不出来
18 回复
String 方式
if(Strings.isNotBlank(taskPatrolVO.getNormalStartTime())){
str.append(" and d.normal_start_time >= '"+taskPatrolVO.getNormalStartTime()+"'");
}
转Date格式也不行
这是用字符串拼接sql语句的方式
public static final String DATE_PATTERN = "yyyy-MM-dd";
public static String dateFormat(Date date, String pattern) throws ParseException{
if(StringUtils.isEmpty(pattern)){
pattern = DateUtils.DATE_PATTERN;
}
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(date);
}
String cdate="";
try {
cdate=DateUtils.dateFormat(new Date(),"");
} catch (ParseException e) {
e.printStackTrace();
}
SqlExpressionGroup e1 = Cnd.exps("starday", "<=", cdate).and("endday", ">=", cdate);
SqlExpressionGroup e2 = Cnd.exps("ifnull(starday,'')", "=", "").and("ifnull(endday,'')", "=", "");
SqlExpressionGroup e3= Cnd.exps(e1).or(e2);
Condition c = Cnd.where(e3).and("gamepkg","=",pkg);
@menglinxi 格式为hh:mm:ss 不是yyyy-MM-dd
还有一个是 有没有这个功能 就是查询的时候的时候 自定义新增查询字段
实现如下效果,
M()->table($subQuery . ' a')->field('user_id, realname, mobile, count(*) as count')->group('user_id')->order('count desc')->select()
count 有存在对象中,Cnd查询能一次性查询出来吗
如果我要实现这样子的sql 结合cnd 我要怎么快速实现
SELECT user_id,mobile,realname FROM v_ticket WHERE 1=1 AND actual_bmbh IN (1) GROUP BY user_id
添加回复
请先登陆