查找id的二进制中第某位(从右侧数)是0的用户数量  id是十进制整数。

解决方案 »

  1.   

    举例说明
    示例:
    SELECT CONV(101,10,2),LEFT(RIGHT(CONV(101,10,2),5),1)
    假设第5位为0
    select count(*) from tt where 
    LEFT(RIGHT(CONV(id,10,2),5),1)=0
      

  2.   

    请问下,这个sql语句是在哪知道的?我想把它弄明白,不只是要个结果,谢谢!
      

  3.   

    1,怎么把十进制转为2进制。
    2,查找位置。http://www.1861web.com/website-design-03/html/technology/webtechnology/PHP/20100104/07799279.html上面这个网站是MYSQL的函数。
    学完了这个,基本上字符处理就没问题了。
      

  4.   

    嗯嗯 明白了,我刚才是在下面的网站上找到的,也分享下吧:
    http://www.smallsql.de/doc/index.html
      

  5.   

    WHERE SUBSTR(CONV(123,10,2),5,1)='0'
      

  6.   

    后来老大说这个方法效率不高  如果数据很多的话就不行。我后来就想到了&   好比是右边第五位为0的:
    where id & 12 = 0
    这样应该会很快的吧bin(12) = 0001 0000