like与and

select * from g_cardapply where g_applydate  like '2011-01-01%' ;

select * from g_cardapply where g_applydate >= '2011-01-01 00:00:00' and g_applydate <= '2011-01-01 23:59:59;


这两个 所查询出来的 数据是一样的 但是 他们 有什么区别


大哥大没信号 发布于 2020-8-24 16:15
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
ColdmanLv6高级互助
发布于2020-8-24 16:26

第一个:2011-01-01开头,后面不管跟什么,哪怕跟一堆字符串都算符合条件

第二个:时间必须是在2011-01-01 00:00:00和2011-01-01 23:59:59之间才算符合条件

最佳回答
0
yoobolLv5初级互助
发布于2020-8-24 16:18

like '2011-01-01%' 开头是2011-01-01数据都在内

另外一个就是字面的意思

最佳回答
0
吾姓独孤Lv6高级互助
发布于2020-8-24 16:22(编辑于 2020-8-24 16:25)

like 是模糊查询的关键字,格式是     '%xxx%'    其中双引号保证他是字符串,百分号是通配符,如果像你上面那个只有后面加的话就是开头是2011-01-01后面什么字符串都可以

下面的代码意思就更简单了 g_applydate 大于等于前面的日期,同时小于等于后面的日期

还有你要注意一个数据类型的问题,你俩个都是字符串,他计算大于小于是用实际的编码去计算,但是如果你是日期格式,上面的就不能用了比较的时候,也要用日期类型去比较

最佳回答
0
tangdageLv5初级互助
发布于2020-8-24 16:24

这两个条件都是一天的数据,方法有很多,截取日期为2020-01-01结果也是一样的

  • 5关注人数
  • 580浏览人数
  • 最后回答于:2020-8-24 16:26
    请选择关闭问题的原因
    确定 取消
    返回顶部