ORACLE 模拟 java SPLIT

本文深入解析SQL中用于字符串处理的F_SPLIT函数,包括其功能、输入参数及返回值,通过实例演示如何有效应用该函数进行字符串分割。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CREATE OR REPLACE FUNCTION F_SPLIT
/*
 * 功    能: split.
 * 输入参数: Liststr  string
 * 输入参数: Sepe     index
 * 输入参数: Sepe     separator. default is ','.
 * return sepeCount
 */
(
  Liststr in varchar2,
  inde    in number,
  Sepe    in varchar2 := ','
) return varchar2 is
  -- 去掉前后分隔符后的字符串
  Str       varchar2(4000);
  -- 要返回的字符串
  retStr    varchar2(100);
  -- 分隔符个数
  sepeCount number(4);
begin
  -- 去掉前后的分隔符;
  Str       := TRIM(BOTH Sepe FROM Liststr);
  sepeCount := f_getsepcount(Liststr, Sepe);
  IF sepeCount = 0 THEN
     return Liststr;
  END IF;
  IF inde > sepeCount THEN
    retStr := '0';
  ELSIF inde = sepeCount THEN
    retStr := Substr(str, Instr(str, Sepe, 1, inde) + 1, length(Str));
  ELSIF inde = 0 THEN
    retStr := Substr(str, 1, Instr(str, Sepe, 1, 1) - 1);
  ELSE
    str    := SubStr(Str, Instr(str, Sepe, 1, inde) + 1, length(str));
    retStr := Substr(str, 1, Instr(str, Sepe, 1, 1) - 1);
  END IF;
  return retStr;
end;

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值