做一个学校项目的时候 要根据上中晚查询 最后用的是
创新互联建站专注于企业成都营销网站建设、网站重做改版、汤旺网站定制设计、自适应品牌网站建设、H5高端网站建设、商城系统网站开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为汤旺等各大城市提供网站开发制作服务。
date_format(t1.record_time, '%H:%i:%s')
SELECT t2.class_name,t1.class_no,t1.course_id,t1.course_name,t1.id,t1.pic_url,t1.record_time,t1.sign_day,t1.status,t1.student_name,t1.student_no FROM t_e_sign t1 LEFT JOIN t_e_sys_org t2 ON t2.org_code = t1.class_no WHERE IF (:studentName is not null, t1.student_name LIKE CONCAT('%',:studentName,'%') , 1 = 1) and IF (:className is not null, t2.class_name LIKE CONCAT('%',:className,'%') , 1 = 1) and IF (:startTime is not null, date_format(t1.record_time, '%Y-%m-%d') =:startTime , 1 = 1) and IF (:endTime is not null, date_format(t1.record_time, '%Y-%m-%d') =:endTime , 1 = 1) and IF (:startdetailTime is not null, date_format(t1.record_time, '%H:%i:%s') =:startdetailTime , 1 = 1) and IF (:enddetailTime is not null, date_format(t1.record_time, '%H:%i:%s') =:enddetailTime , 1 = 1) ORDER BY ?#{#pageable}",
整个语句也写下吧
方法/步骤
首先,在创建的数据库中新建一张数据库表t_amount_info,设置好字段名以及数据类型
如下图所示:
在点击“Apply”后,出现了SQL 语句错误
如下图所示:
查看MySQL Workbench日志可知,在设置id主键默认值时,出现错误
id INT NOT NULL DEFAULT ID
这里id是int数据类型,但是默认值给的是varchar,所以报错
修改完后,再次执行
如下图所示:
然后,再向该数据库表里插入数据
如下图所示:
点击“Apply”运行后,发现出现错误
如下图所示:
由报错日志可知,id是数据库表的主键,但是在插入的过程未给值,导致报错,修改后
如下图所示:
接着,查询t_amount_info表并格式化amount字段结果
如下图所示:
8
结果发现,出现错误,由报错日志可知
STR_TO_DATE(字符串,日期格式)
如下图所示:
方法一:实体类中加日期格式化注解
[java] view plaincopy
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date receiveAppTime;
如上,在对应的属性上,加上指定日期格式的注解,本人亲自测试过,轻松解决问题!
需要 import org.springframework.format.annotation.DateTimeFormat;
转换函数位于spring-context.jar包中
方法二:控制器Action中加入一段数据绑定代码
[java] view plaincopy
@InitBinder
public void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true)); //true:允许输入空值,false:不能为空值