如果任何参数为 NULL,MySQL EXPORT_SET() 函数返回什么?

MySQL EXPORT_SET() 函数

MySQL EXPORT_SET() 函数用于将一组二进制位转换成一个较短的十进制数。该函数需要两个参数,第一个参数用来设置二进制位的顺序,第二个参数是需要进行转换的数值。

EXPORT_SET() 函数将二进制位逆序排列,排列方式为从右向左:

如果值的第一个二进制位为1,则返回1;

如果值的第二个二进制位为1,则返回2;

如果值的第三个二进制位为1,则返回4,以此类推。

如果所有的二进制位都是0,那么该函数将返回空字符串。

函数参数

EXPORT_SET() 函数需要两个参数:

separator: 翻译成中文就是分隔符。表示二进制位的顺序。如果设置为null,则返回使用逗号逗号分隔的默认二进制位顺序(从右至左递增的顺序,例如:00001,00010,00100,01000,10000),也可以使用指定的1或0代替逗号

bitfield: 要进行转换的整数值(可以是有符号或无符号,BIGINT或INT类型)。

NULL参数

separator 参数为null

当 separator 参数设置为 null 时:

如果 bitfield 参数为 null,则 EXPORT_SET() 函数将返回 null。

如果 bitfield 参数不为 null,则 EXPORT_SET() 函数将返回使用逗号分隔的默认二进制位顺序 (从右向左递增的顺序,例如:00001,00010,00100,01000,10000)。

-- separator 参数为 null,bitfield 参数为 null

SELECT EXPORT_SET(null, null);\-- null

-- separator 参数为 null,bitfield 参数为 11

SELECT EXPORT_SET(null, 11);\-- 00011

separator 参数不为 null

当 separator 参数不为 null 时:

如果 bitfield 参数为 null,则 EXPORT_SET() 函数将返回null。

如果 bitfield 参数不为 null,则 EXPORT_SET() 函数将使用指定的分隔符进行二进制位排序。

-- separator 参数不为 null,bitfield 参数为 null

SELECT EXPORT_SET(' ', null);\-- null

-- separator 参数不为 null,bitfield 参数为 11

SELECT EXPORT_SET('/', 11);\-- 0001/1

总结

在使用MySQL EXPORT_SET() 函数时,如果任何一个参数传入null,那么函数返回值都是null。如果separator 参数传入null,则默认使用使用逗号逗号分隔的默认二进制位顺序。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

数据库标签