`
pavel
  • 浏览: 930612 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

分解字符串-sql中执行带参数的函数

阅读更多

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
-- =============================================
--
 Author:  <MIN>
--
 Create date: <2007-12-12>
--
 Description: <分解字符串>
--
 =============================================
--
-执行
--
     SELECT * from  dbo.Split_String ('a,b,c,d,we3r',',')

ALTER FUNCTION [dbo].[Split_String]
(
@split_string varchar(max), --要进行分解的字符串
@tag_string varchar(10--分解标志
)
RETURNS 
@split_table TABLE 
(
    split_value 
varchar(200)
)
AS
BEGIN
declare @temp_string varchar(max)
declare @start_index int
declare @end_index int

while 1=1
begin
  
set @start_index = 0
  
select @end_index = CharIndex(@tag_string,@split_string,@start_index)
  
if @end_index <> 0
  
begin
   
set @temp_string = Substring(@split_string,@start_index,@end_index)
   
if @temp_string is not null and @temp_string <> ''
    
insert into @split_table(split_value) values(@temp_string)
   
set @start_index = @end_index + 1
   
set @split_string = Substring(@split_string,@start_index,len(@split_string))
  
end
  
else
  
begin
    
if @split_string is not null and @split_string <> ''
       
insert into @split_table(split_value) values(@split_string)
   
break
  
end
end

RETURN 
END

分享到:
评论

相关推荐

    SQL根据指定分隔符分解字符串实现步骤

    本文将介绍如何在MS SQL Server中根据给定的分隔符分解字符串。 首先,我们创建一个名为`Split_StrByDelimiter`的函数,该函数接收两个参数:`@String`,即待分解的字符串,和`@Delimiter`,即作为分隔符的字符。这...

    sql自定义函数 sql自定义函数

    1. **标量函数(Scalar Function)**:返回单个值的函数,如计算两个数的和或返回字符串的长度。 2. **表值函数(Table-Valued Function)**:返回一个结果集的函数,可以看作是一个小型的查询,执行后返回多行多列...

    SQL Server实现split函数分割字符串功能及用法示例

    在SQL Server中,有时我们需要将一个包含多个值的单个字符串分解为多个单独的值,以便于处理或分析。这就是`split`函数的作用。本文将详细介绍如何在SQL Server中实现`split`函数来分割字符串,并提供相关的使用示例...

    sql分割字符串文档

    在SQL Server中,有时我们需要将一个字符串分解成多个单独的部分,以便进行处理或分析。这里提到的`f_split`函数就是一个自定义的用户定义函数(UDF),用于实现字符串的分割功能。这个函数非常实用,尤其对于那些在...

    F_SPLIT-字符函数.sql

    oracle自定义函数,字符串分解,可按分隔符分解字符串,分隔符可自己随便定义,非常灵活。欢迎下载。

    经典SQL脚本大全

    │ 得到一个字符串在另一个字符串中出现的次数.sql │ 数字转换成十六进制.sql │ 比较第一与第二个字符串,是否有连续的5个字符相同.sql │ 生成查询的模糊匹配字符串.sql │ 简繁转换.sql │ 统计一个表中某个字符...

    CLOB 字段类型报错 ORA-01704: 文字字符串过长的解决

    在PL/SQL中,你可以通过绑定变量的方式避免直接在INSERT或UPDATE语句中包含超长的字符串。如示例代码所示,定义一个CLOB类型的变量,然后将大字符串赋值给该变量,再将其作为参数传递给INSERT或UPDATE语句。这种...

    sqlParse:解析sql字符串以获取列名和参数

    词法分析将SQL字符串分解为一个个有意义的单元,如关键字、列名、表名、运算符等;语法分析则依据这些单元构建出语句的抽象语法树(AST),便于进一步操作。 在JavaScript中,解析SQL的一个常见方法是使用正则...

    sql server 时间函数

    `DATENAME` 函数将日期的某一部分转换成字符串形式,通常用于报告或显示友好的日期格式。 ```sql DATENAME(datepart, date) ``` 例如,将日期转换为星期名称: ```sql SELECT DATENAME(weekday, '2004-10-15'); `...

    Mysql通过存储过程分割字符串为数组

    - `REVERSE(str)` 是一个MySQL字符串函数,它接收一个字符串参数`str`,并返回一个新的字符串,其字符顺序与原字符串相反。这个函数在分割字符串为数组时,用于倒序排列字符串以便于后续操作。 2. **SUBSTRING_...

    SQL server中字符串逗号分隔函数分享

    首先,我们来看标题提到的"SQL server中字符串逗号分隔函数分享",这个话题是关于创建一个名为`fnSplitStr`的用户定义函数(UDF)。这个函数的主要作用是将一个由逗号分隔的字符串拆分为多个单独的字符串,并将它们...

    第06章 字符串操作.pdf

    返回值表明了字符串的相对位置,如 `-1` 表示当前字符串位于参数字符串之前,`0` 表示两者相等,`1` 表示当前字符串位于参数字符串之后。 ##### 4. 其他相关数据结构与功能 - **`StringBuffer` 类**:提供了一个可...

    SQL中将日期转换为中文大写

    首先,我们来看第一种函数实现方式,这种方法通常依赖于SQL的内置函数和字符串操作。例如,在某些SQL方言中,我们可以先将日期转换为英文全拼,然后再用自定义的映射表或函数将英文日期转换为中文大写。例如,"2023-...

    在sql server2000中产生助记码

    在SQL Server 2000中,助记码(Mnemonic)通常指的是便于人类记忆的字符串,它们在数据库设计中用于创建用户友好的标识符,比如表名、列名或程序变量名。助记码可以帮助数据库管理员和开发人员更轻松地理解和管理...

    SQL里类似SPLIT的分割字符串函数

    通过创建一个用户自定义函数(UDF),我们可以将一个包含逗号分隔值的字符串分解为一系列单独的项,存储在临时表中。以下是一个示例函数`f_split`,它接受两个参数:要分割的字符串`@c`和分隔符`@split`。函数使用`...

    sql高级进阶

    - 遍历字符串:利用数据库函数逐个处理字符串中的字符。 - 字符串文字中包含引号:使用转义字符处理引号。 - 计算字符在字符串中出现的次数:使用LENGTH和SUBSTRING函数。 - 从字符串中删除不需要的字符:使用...

    Efficiency-Analysis-of-sql-statement.zip_statement

    6. **避免在WHERE子句中使用函数**:数据库通常无法对函数操作的列使用索引,所以避免在WHERE子句中对索引列进行函数运算,如日期函数、字符串函数等。 7. **使用子查询替换临时表**:在某些场景下,子查询可以代替...

    mysql军规-sql规范

    - **解释**:字符串类型的主键不利于索引的使用。 - **建议**:使用整型或其他固定长度的数据类型作为主键。 **7. 不用外键,请由程序保证约束** - **解释**:在数据库层面使用外键约束会增加查询和更新的复杂度。...

    sql带分隔符的截取字符串示例

    本示例主要讲解如何在SQL中使用带有分隔符的字符串进行截取操作。分隔符通常用于将单一字符串拆分为多个部分,例如在CSV(逗号分隔值)格式的数据中。以下是一个详细的SQL字符串截取教程,特别关注如何在遇到分隔符...

    Oracle PL-SQL(日本語版).pdf

    - **示例**:通过`DBMS_OUTPUT.PUT_LINE`将字符串输出至标准输出流。 - **UTL_FILE**:用于读写Oracle服务器上的文本文件。 - **用途**:文件操作,如创建、读取、写入、关闭文件等。 - **示例**:通过`UTL_FILE....

Global site tag (gtag.js) - Google Analytics