今天下午在做员工考勤系统的时候,需要进行对两个日期之间的员工进行查询,但是String类型的日期不可比较,那么我们如何继续往下进行呢???
我们运用date_format把String数据库中的String 类型的日期格式化成datetime.
上代码::
select userinform.uid,userinform.uname,uworktime,ustate,unote,utime from note,userinform
where note.uid = userinform.uid and
date_format(utime,'%Y-%m-%d')
BETWEEN str_to_date('2019-11-04', '%Y-%m-%d') AND str_to_date('2019-11-08', '%Y-%m-%d')
在sql语句中,我们需要先将数据库中的数据进行格式化,即上述代码第三行:
date_format(utime,'%Y-%m-%d')
其中,utime是数据库中日期的字段。
接下来我们就可以将日期进行格式化然后进行比较了。
如果在jsp界面传值,jsp界面传递的值到servlet,那么上述代码快的第四行就不能进行直接赋值了。因该这样写:
date_format(utime,'%Y-%m-%d')
BETWEEN str_to_date('"+start+"', '%Y-%m-%d') AND str_to_date('"+finaltime+"', '%Y-%m-%d')";
其中,start是从jsp界面传递过来,finaltime亦是。
**互相学习,共同进步**