从mysql中的int列获取集合位的索引
有没有人有任何SQL fu(可以是特定于MySQL的)可以在不使用过程的情况下给我一个int中的集合位索引?做个手术怎么样 例如,假设:从mysql中的int列获取集合位的索引,sql,mysql,Sql,Mysql,有没有人有任何SQL fu(可以是特定于MySQL的)可以在不使用过程的情况下给我一个int中的集合位索引?做个手术怎么样 例如,假设: create table example (val int); insert into example values (1), (2), (3), (4), (256); 我可以看到设置位: select conv(val, 10, 2) from example; +------------------+ | conv(val, 10, 2) | +---
create table example (val int);
insert into example values (1), (2), (3), (4), (256);
我可以看到设置位:
select conv(val, 10, 2) from example;
+------------------+
| conv(val, 10, 2) |
+------------------+
| 1 |
| 10 |
| 11 |
| 100 |
| 100000000 |
+------------------+
我需要魔法,它会给我:
+------------------+
| (something) |
+------------------+
| 1 |
| 2 |
| 1,2 |
| 3 |
| 9 |
+------------------+
。。我也很高兴得到基于0的解决方案。这里有一个初学者,也许。。。至少在T-SQL中,有一个位运算符可以用于将值与任何输入值组合。基本上规则是 如果 输入&bitvalue=bitvalue 然后,该位被打开
declare @i int
set @i =40
select @i & 1, @i & 2, @i & 4, @i & 8, @i & 16, @i & 32,
@i & 64, @i & 128, @i & 256
MySQL函数执行以下操作:
SELECT
MAKE_SET( val, '1', '2', '3', '4', '5', '6', '7', '8', '9' )
FROM
example
可能还有其他函数会生成一系列数字字符串。。。有人吗?+1 MySQL也是,你知道,我在看MySQL集,希望实现不局限于表结构。谢谢你,这正是我需要的。
SELECT TRIM(TRAILING ',' FROM CONCAT(IF(x&1, "1,", ""),
IF(x&2, "2,", ""),
IF(x&4, "3,", ""), ...))