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