mysql的make_set函数看不明白
时间:2011-10-30
来源:互联网
MAKE_SET(bits,str1,str2,...)
返回一个设定值 (一个包含被‘,’号分开的字字符串的字符串) ,由在bits 组中具有相应的比特的字符串组成。str1 对应比特 0, str2 对应比特1,以此类推。str1, str2, ...中的 NULL值不会被添加到结果中。
mysql> SELECT MAKE_SET(1,'a','b','c');
-> 'a'
mysql> SELECT MAKE_SET(1 | 4,'hello','nice','world');
-> 'hello,world'
mysql> SELECT MAKE_SET(1 | 4,'hello','nice',NULL,'world');
-> 'hello'
mysql> SELECT MAKE_SET(0,'a','b','c');
-> ''
不明白这个bits组,也不明白是怎样通过它来选取字符串的。
返回一个设定值 (一个包含被‘,’号分开的字字符串的字符串) ,由在bits 组中具有相应的比特的字符串组成。str1 对应比特 0, str2 对应比特1,以此类推。str1, str2, ...中的 NULL值不会被添加到结果中。
mysql> SELECT MAKE_SET(1,'a','b','c');
-> 'a'
mysql> SELECT MAKE_SET(1 | 4,'hello','nice','world');
-> 'hello,world'
mysql> SELECT MAKE_SET(1 | 4,'hello','nice',NULL,'world');
-> 'hello'
mysql> SELECT MAKE_SET(0,'a','b','c');
-> ''
不明白这个bits组,也不明白是怎样通过它来选取字符串的。
作者: jianwu5 发布时间: 2011-10-30
这个BIT组,其实就是二进制 ,比如[ 个 SELECT MAKE_SET(1 | 4,'hello','nice','world');
1|4 0001 | 0100 = 0101 ,然后取出对应位上的字符串。
1|4 0001 | 0100 = 0101 ,然后取出对应位上的字符串。
作者: ACMAIN_CHM 发布时间: 2011-10-30
引用 1 楼 acmain_chm 的回复:
这个BIT组,其实就是二进制 ,比如[ 个 SELECT MAKE_SET(1 | 4,'hello','nice','world');
1|4 0001 | 0100 = 0101 ,然后取出对应位上的字符串。
这个BIT组,其实就是二进制 ,比如[ 个 SELECT MAKE_SET(1 | 4,'hello','nice','world');
1|4 0001 | 0100 = 0101 ,然后取出对应位上的字符串。
还是不明白,'hello','nice','world'这些对应什么位?公式中str1对应0,str2对应1,str3是对应11吗?
如果str1对应0的话,
mysql> SELECT MAKE_SET(0,'a','b','c');
-> ''
岂不是应该是'a'?
作者: jianwu5 发布时间: 2011-10-30
0 = 0000 哪个都不取。
作者: ACMAIN_CHM 发布时间: 2011-10-30
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28