VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

EXPORT_SET

功能描述

EXPORT_SET函数根据输入参数的二进制位生成一个使用指定分隔符拼接的字符串。

注意事项

  • 该功能仅在数据库兼容模式为MySQL时支持(即数据库实例初始化时指定DBCOMPATIBILITY='B')。
  • 该函数将第一个参数(即整数)转换为二进制数字,如果二进制数字为1,则返回on,如果二进制数字为0,则返回off。

语法格式

EXPORT_SET(bits, on, off, separator, length)

参数说明

  • bits

一个数字,将 bits 转为二进制并反转后的各个位的值决定on还是off出现在该位置。

  • on

当位值为1时使用的字符串。

  • off

当位值为0时使用的字符串。

  • separator

可选参数,隔符或者分隔字符串,默认值为,

  • length

可选参数,集合的元素的个数,默认值为 64。

返回值

EXPORT_SET函数根据 bits 对应的二进制并反转后的值挑选对应的字符串,并默认返回一个逗号分隔的字符串集合。例如EXPORT_SET(5, 'Aa', 'Bb', '#', 4)

bits为5,二进制位101,总长度位4,左边补0之后变为0101,反转之后位1010.

按照1010中的每位的值使用on或者off:

  • 第一位为 1,则使用 Aa。
  • 第二位为 0,则使用 Bb。
  • 第三位为 1,则使用 Aa。
  • 第四位为 0,则使用 Bb。

最后将所有的字符串使用分隔符 # 组合起来,即:Aa#Bb#Aa#Bb

示例

SELECT EXPORT_SET(5, 'Aa', 'Bb', '#', 4);
SELECT EXPORT_SET(5,'Y','N',',',5);

返回结果如下:

 export_set
-------------
 Aa#Bb#Aa#Bb
(1 row)

 export_set
------------
 Y,N,Y,N,N
(1 row)