Mybatis中大于和小于的转义

今天遇到了个有意思的问题

我在写一个sql的时候,用到了between and

between and

首先先来说说between and
我个人之前用between and 没有考虑到这一块的内容,今天在写的时候遇到了这个问题
话不多说 上个例子
要查询几号到几号之间的例子。
在这里插入图片描述
这是全部数据,我们现在查询2019-10-9日到2019-10-15的信息
执行下sql
select * from uses WHERE time BETWEEN '2019-10-09' and '2019-10-15'
在这里插入图片描述
我们发现,10月15日当天的信息没有显示出来,所以可以得出结论,between and是不包含右边界的。

接下来说解决方法。
1:就是把右边的日期给➕上一天
2:把后面的时间拼为‘2019-10-15 23:59:59’;

这只是我前面出的问题

我现在用的是Sql server 我用了另一种方法去写这个sql
我用了一个神奇的办法。。。。。
select * from uses WHERE time >= '2019-10-09' and time <='2019-10-15'
在这里插入图片描述

????????????

为什么还是查不到,我都等于了。
找了找原因:

我们所使用的类型是datetime,在Sql server中datetime是会把后面的时分秒改为00:00:00,所以就查不到咯
最终加上了一个 CONVERT(date,time) 完美结束

select * from uses WHERE time >= '2019-10-09' and CONVERT(date,time) <='2019-10-15'

在这里插入图片描述
终于弄好了,我们把写好的sql写入代码中吧。
在这里插入图片描述

??????

又错了
什么情况,查了下百度
原来是我们在Mybatis中,大于等于小于这些符号,是不能够辨识的,需要用进行转义
在这里插入图片描述
完美了这样就
我把转义的放到这里。
在这里插入图片描述


版权声明:本文为qq_45524246原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。