请教个where条件语法解析问题

JJ___JJ 2014-03-24 09:02:55

SELECT * FROM test WHERE (
(BIT_COUNT( 1 ^ 0 ) +
BIT_COUNT( 0^ 1 ) +
BIT_COUNT( 0 ^ 1 ) +
BIT_COUNT( 1 ^ 0 ) +
BIT_COUNT( 0 ^ 0 ) +
)< 2

如上面的sql中, mysql运行到第3行之后, 还会去计算第3行之后的结果么
因为
(BIT_COUNT( 1 ^ 0 ) + BIT_COUNT( 0^ 1 ) +
就已经大于2了.
另外下问下, 有没有mysql语法解析这类的工具介绍下, 最好是win下桌面软件的, 谢谢各位.
...全文
67 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
JJ___JJ 2014-03-24
  • 打赏
  • 举报
回复
引用 1 楼 ACMAIN_CHM 的回复:
会计算完整的 BIT_COUNT( 1 ^ 0 ) + BIT_COUNT( 0^ 1 ) + BIT_COUNT( 0 ^ 1 ) + BIT_COUNT( 1 ^ 0 ) + BIT_COUNT( 0 ^ 0 ) 然后和 2 比较。
谢谢, 请问有什么办法可以优化么, 比如自定义函数. 如有, 能否写个sql例子.
ACMAIN_CHM 2014-03-24
  • 打赏
  • 举报
回复
会计算完整的 BIT_COUNT( 1 ^ 0 ) + BIT_COUNT( 0^ 1 ) + BIT_COUNT( 0 ^ 1 ) + BIT_COUNT( 1 ^ 0 ) + BIT_COUNT( 0 ^ 0 ) 然后和 2 比较。

56,687

社区成员

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

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