功能就是用某一标记分割字符串,并返回指定的第几个。
CREATE OR REPLACE FUNCTION fn_split (p_str IN VARCHAR2, p_delimiter IN VARCHAR2,index_i IN int)
RETURN VARCHAR2
IS
j INT := 0;
i INT := 1;
len INT := 0;
len1 INT := 0;
index_a int :=0 ;
str VARCHAR2 (4000);
BEGIN
len := LENGTH (p_str);
len1 := LENGTH (p_delimiter);
WHILE j < len
LOOP
j := INSTR (p_str, p_delimiter, i);
IF j = 0
THEN
j := len;
str := SUBSTR (p_str, i);
IF i >= len or index_a = index_i
THEN
EXIT;
END IF;
ELSE
str := SUBSTR (p_str, i, j - i);
i := j + len1;
index_a := index_a + 1 ;
IF index_a = index_i
THEN
EXIT;
END IF;
END IF;
END LOOP;
RETURN str;
END fn_split;
效果见图:
- 大小: 4.1 KB
分享到:
相关推荐
Oracle Sql 提供了 REPLACE() 函数,用于将字符串中的某个字符替换为另一个字符。 示例:SELECT REPLACE('abcdce', 'bc', 'test') FROM dual; -- 返回 atestdce 6. ASCII 码函数 Oracle Sql 提供了 ASCII() 函数...
sqlserver中根据某个字符切割字符串函数,比如根据逗号切割字符串,结果返回的是一个表值函数,这个函数返回结果字段包含Id和Value,Id为序号,Value为切割后的值
根据给定的信息,本文将详细解释如何在SQL中实现截取用特定字符分割的字符串中的第n个子字符串。此需求通常应用于数据处理与分析场景中,尤其在处理半结构化或非结构化的文本数据时非常有用。 ### 核心知识点解析 ...
自定义函数`FUNCTION_SF_SPLIT_STRING`如上所示,是一个典型的用于分割字符串的函数,它接受两个参数:待分割的字符串`STRING`和用作分隔符的子字符串`SUBSTRING`,返回一个`VARCHAR2`类型的数组,其中包含了分割后...
本篇文章将详细介绍如何利用SQL语言实现这一功能,具体来说是如何编写一个SQL函数来计算给定字符串中由特定分隔符分隔出的子字符串的数量。 #### 题目背景 在实际应用场景中,有时会遇到存储了多个值的字符串字段...
例如,`regexp_substr(string, pattern, occurrence)` 可以按给定的模式和出现次数分割字符串。 4. **DBMS_UTILITY.FORMAT_CALL_STACK() 函数** 虽然不是专门用于字符串拆分,但`DBMS_UTILITY.FORMAT_CALL_STACK` ...
MySQL不提供内置的多分隔符字符串分割函数,但可以通过创建用户定义的函数(UDF)来实现。这通常涉及到C语言编程,将编译好的库文件导入到MySQL服务器。然而,对于简单的分割任务,可以考虑在应用程序层处理。 四、...
2、按指定符号分割字符串,返回“分割后指定索引的第几个元素”的值,象数组一样方便 3、检查一个元素是否在数组中,返回1或0 4、检查一个元素是否与数组中的相匹配,并返回相匹配的数组的值。参数值为0表示全模糊...
1. **T-SQL中的字符串分割自定义函数**:SQL Server提供了强大的T-SQL语言,允许用户创建自定义函数来处理特定的逻辑需求,如字符串分割。下面展示的是一个名为`GF_StringSplit`的示例函数,该函数接受两个参数:一...
@Split nvarchar(10) -- 分割字符串 ) RETURNS @TableResult TABLE (TableID nvarchar(20)) -- 返回一个表类型的结果集 AS BEGIN DECLARE @Index int DECLARE @LenIndex int SELECT @LenIndex = LEN(@Split), @...
在处理字符串时,DB2提供了多种函数和过程,使得对字符串的分隔、提取和操作变得方便高效。以下将详细介绍DB2中用于字符串分隔、函数及过程的使用。 1. 字符串分隔函数: 在DB2中,最常用的字符串分隔函数是`STRIP...
SQL FUNCTION Split 字符串分割函数 的创建,方法加实例
sqlserver 字符串分割表函数(新写法) fn_split 成表函数(带序号)
本文将深入探讨如何在SQL中使用自定义函数实现基于分隔符的字符串截取功能,具体通过分析提供的`SplitToTable`函数代码,阐述其工作原理,并拓展相关的SQL字符串处理技巧。 ### SQL字符串截取函数:`SplitToTable` ...
将字符串分割成数组: 例如将字符串“7369,7499,7521,7844"分割成 7369 7499 7521 7844 用法:可以将分割结果做为一个数组或者数据库表列来使用 select * from scott.emp where empno in (select column_value from...
在SQL Server中,字符串处理是常见的任务之一,而字符串切割函数则是处理字符串的重要工具。本文将深入探讨SQL Server中的字符串切割函数,特别是如何创建和使用用户定义函数来实现这一功能。 首先,我们要明白用户...
- **@StrSeprate**: 用于分割字符串的分隔符,类型为`varchar(10)`。 #### 函数内部逻辑分析 1. **初始化**: - 使用`RTRIM`和`LTRIM`函数去除`@SourceSql`两端的空白字符。 - 初始化循环变量`@i`,用于追踪分隔...
本文将详细介绍如何在SQL Server中实现`split`函数来分割字符串,并提供相关的使用示例。 首先,让我们了解这个自定义的`split`函数——`[dbo].[f_SplitToNvarchar]`。这个函数接受两个参数: 1. `@SourceSql`:这...
### SQL2000 字符串分割方法解析 在处理大量数据时,经常...此外,随着SQL Server版本的不断更新,后续版本中还提供了更多方便的内置函数来进行字符串操作,如`STRING_SPLIT()`等,使得字符串处理变得更加便捷高效。
SQL 字符串分割函数实现多行数据转换 在数据库中,经常会遇到将一个字段中的特殊字符分割的字符串转换成多行数据的情况。这是一个常见的需求,但是网上提供的解决方案往往非常复杂,难以理解和实现。为了解决这个...