Oracle拼接函数

1、拼接函数: distinct_listagg
2、使用说明,对于oracle原生的listagg函数,进行拼接的时候,会拼接重复项,诸如 : a,b,c,a
其中a出现多次,为了过滤掉第二项a ,参考并撰写了以下函数源代码

create or replace function distinct_listagg
  (listagg_in varchar2,
   delimiter_in varchar2)

   return varchar2
   as
   hold_result varchar2(4000);
   begin

   select rtrim( regexp_replace( (listagg_in)
      , '([^'||delimiter_in||']*)('||
      delimiter_in||'\1)+($|'||delimiter_in||')', '\1\3'), ',')
      into hold_result
      from dual;

return hold_result;

end;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Oracle 数据库中的拼接函数是用来将多个字符串拼接在一起的函数。常用的拼接函数有 CONCAT 和 || 两种。 例如: CONCAT('Hello', ' ', 'World') 结果为 'Hello World' 'Hello' || ' ' || 'World' 结果也是 'Hello World' 注意,如果使用 CONCAT 函数拼接 NULL 值,则结果为 NULL,而使用 || 运算符拼接 NULL 值时,结果为非 NULL 值。 例如: CONCAT(NULL, 'Hello') 结果为 NULL NULL || 'Hello' 结果为 'Hello' ### 回答2: Oracle拼接函数是指通过使用特定的函数将两个或多个字符串拼接成一个字符串。 在Oracle中,可以使用“CONCAT”函数来进行字符串的拼接。该函数接受两个参数,分别是要进行拼接的字符串。例如,可以使用以下语句来将两个字符串拼接为一个字符串: SELECT CONCAT('Hello ', 'World') AS Concatenated_String FROM dual; 执行上述语句后,将会返回拼接后的字符串“Hello World”。 此外,还可以使用“||”运算符来实现字符串的拼接操作。例如,使用以下语句来将两个字符串拼接为一个字符串: SELECT 'Hello ' || 'World' AS Concatenated_String FROM dual; 执行上述语句后,同样会返回拼接后的字符串“Hello World”。 需要注意的是,“CONCAT”函数和“||”运算符都可以用于拼接字符串,但在某些特定的情况下,它们可能会产生不同的结果。例如,当其中一个字符串为NULL时,“CONCAT”函数会将其转换为空字符串,而“||”运算符会保留NULL值。 总之,通过使用Oracle拼接函数,可以方便地将多个字符串拼接为一个字符串,实现字符串操作的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值