前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >MySQL EXPORT_SET()函数

MySQL EXPORT_SET()函数

原创
作者头像
Power
发布2025-03-05 11:35:10
发布2025-03-05 11:35:10
2600
代码可运行
举报
运行总次数:0
代码可运行

最近在学习 MySQL 的字符串函数时,发现了标题中的这个函数:EXPORT_SET(),百度了一下发现全部都是机翻的文章,经过一番实际操作终于搞懂了这个函数的准确意思,分享给大家。

语法

代码语言:javascript
代码运行次数:0
复制
EXPORT_SET(bits,on,off[,separator[,number_of_bits]])

说明

这个函数将一个10进制的整数(bits),转换为二进制字符串,然后根据二进制字符串的每一位返回对应的on(对应1)和off(对应0),以连接符separator链接,计算长度由number_of_bits控制。其中对二进制字符串的位检查是从右到左(低位到高位),而返回的字符串从左到右。连接符separator默认为逗号(,),返回长度number_of_bits默认为64,这里会自动视为无符号整数,所以-1和64是相同的,如果number_of_bits大于二进制字符串位数,那么多余的位数由off填充。

上面的描述比较难以理解,下面举几个例子演示一下,大家就懂了。

示例

代码语言:javascript
代码运行次数:0
复制
/*
  整数5的二进制值为'101',on参数设置为'On',off参数设置为'Off',连接符使用',',长度为4
  因此返回'101'每一位对应的'On'或'Off':'On,Off,On',长度为4,缺的1位补'Off',最终输出:
  'On,Off,On,Off'
*/
mysql> SELECT EXPORT_SET(5,'Y','N',',',4);
        -> 'On,Off,On,Off'

/*
  整数32的二进制值为'100100',on参数设置为'1',off参数设置为'0',连接符使用'-',长度为10
  因此返回'001001'(从右到左)每一位对应的'1'或'0':'0-0-1-0-0-1',长度为10,缺的4位补'0',最终输出:'0-0-1-0-0-1-0-0-0-0'
*/
mysql> SELECT EXPORT_SET(32,'1','0','-',10);
        -> '0-0-1-0-0-1-0-0-0-0'

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 语法
  • 说明
  • 示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档