DELIMITER $$

DROP FUNCTION IF EXISTS `value_of_bit_index_is_true`$$
/*计算某个数字的某些索引的位的值是否都为1,索引类似1,2,3,4*/
CREATE FUNCTION `value_of_bit_index_is_true`(`number` INT, `idxies` VARCHAR(50)) RETURNS INT(11)
BEGIN
/*将1,2,3,4,5,6这样的字符串转换位表*/
SET @result = 1;

SET @i = LENGTH(`idxies`) - LENGTH(REPLACE(`idxies`,',','')); -- 算出分隔符的总数
SET @left_str = `idxies`;
WHILE @i>0 -- 有多少个分隔符就循环多少遍
DO
SET @sub_str = SUBSTR(@left_str,1,INSTR(@left_str,',')-1); -- 得到分隔符前面的字符串
SET @left_str = SUBSTR(@left_str,LENGTH(@sub_str)+LENGTH(',')+1); -- 得到分隔符后面的字符串
SET @n = TRIM(@sub_str);
SET @r=`value_of_bit_index`(`number`, @n);
IF @r = 0 THEN
SET @result = 0;
END IF;

SET @i = @i - 1;
END WHILE;
SET @n = TRIM(@left_str);
SET @r=`value_of_bit_index`(`number`, @n);
IF @r = 0 THEN
SET @result = 0;
END IF;

RETURN @result;
END$$

DELIMITER ;

最新文章

  1. [JSP]自定义标签库taglib
  2. Excel导入导出组件的设计
  3. top 10 tipis on Logging in Java- Tutorial (翻译)
  4. 一起找bug
  5. 【XLL 框架库函数】 debugPrintf
  6. (转)CAS (4) —— CAS浏览器SSO访问顺序图详解(CAS Web Flow Diagram by Example)
  7. 【sinatra】结合Padrino framework
  8. FindViewByMe插件
  9. c# 获取excel所有工作表
  10. Dhroid框架配置
  11. __read_mostly变量含义
  12. 2017计算机学科夏令营上机考试-A判决素数个数
  13. mysql-SELECT子句的顺序
  14. HDU1521 排列组合(生成函数 背包)
  15. 洗礼灵魂,修炼python(78)--全栈项目实战篇(6)—— 多级目录菜单之地址管理系统
  16. java中父进程与子进程
  17. div+css命名大全
  18. ASP.NET MVC基础知识
  19. UWP 下载文件显示下载进度
  20. Mac或者linux下登陆到linux上的SFTP

热门文章

  1. 浅谈AJAX基本实现流程
  2. 记一次linux服务部署
  3. python部分面试- 测试维度
  4. sqoop导出到hdfs
  5. Nginx之——日志按日期分割的实现(基于CentOS操作系统)
  6. OKDownload 下载框架 断点续传 MD
  7. Hierarchical softmax(分层softmax)简单描述.
  8. Mysql中的定时任务
  9. 使用idea对spring boot项目打jar和war包[文件]
  10. 深入理解linux系统下proc文件系统内容