关于between的问题

cpp_1 2020-10-28 10:49:05
我想问一下
select * from a where time between ('2020-01-01) and ('2020-10-10') and ss=1

select * from a where time between '2020-01-01' and '2020-10-10' and ss=1

select * from a where (time between '2020-01-01' and '2020-10-10') and ss=1

这三句一样嘛

另外,用between and 和<>,执行效率一样吗?

...全文
207 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
老紫竹 2020-10-29
  • 打赏
  • 举报
回复
隐形转换的事情,性能无区别。 between 内部也是 <= >= 的,性能一样。 between and 是组合使用,语法解析会看成整体,带不带括号没区别。
AHUA1001 2020-10-29
  • 打赏
  • 举报
回复
楼上的,您觉得这两个,有什么差异吗。
SELECT * FROM TABLE_NAME WHERE CREATE_TIME BETWEEN '2020-01-01 00:00:00' AND '2020-01-01 23:59:59' ;
SELECT * FROM TABLE_NAME WHERE CREATE_TIME LIKE '2020-01-01%' ;
hgwyl 2020-10-29
  • 打赏
  • 举报
回复
留言。 我也关注这3句是不是一样。(虽然我觉得是一样的)
AHUA1001 2020-10-29
  • 打赏
  • 举报
回复
你的这个语句,少了一个引号。
如果不考虑引号的问题,三个语句是一样的。
between and 是获取某个范围的内容,<>是获取除指定值之外的内容。
大部分情况between and比<>效率高。
chengangcsdn 2020-10-29
  • 打赏
  • 举报
回复
语句完全一样。 可以用 explain extended 后 直接 show warnings 看message mysql 解析的语句 都是一样的。

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧