`
jinliangonline
  • 浏览: 1552 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

sqlserver存储过程中分隔长字符串

 
阅读更多
发这贴主要是混点分,因为不满30分不能在海版回复……
下面说的这个简单点举例说明吧,例如我们发表一篇文章,通常会再缀上几个标签。这时候通常的做法就是先连接数据库,往文章表插一条数据,然后循环再把标签插入文章标签表。
我打算全用存储过程来实现,传入的参数类似:文章标题、内容、作者、标签(用'|'分隔、等其他字段)
有个比较棘手的问题,就是将标签这个长字符串分隔成若干标签,循环插入数据表。
个人的解决方法如下:
---将传进来的字符串按照自定义分隔符分隔成若干独立的字符串
declare
@str nvarchar(200),--传入的字符串
@i int,    --取charindex时,定义
@index_len int

select @str='我们|他们|你们|咱们大家伙|'
select @i=1
while 1=1
begin
select @index_len=charindex('|',@str,@i)----此处可将‘|’定义成变量
if(@index_len=0)
  break;
else
begin
select substring(@str,@i,@index_len-@i)  ----得到每个标签了,想干嘛就干嘛
select @i=@index_len+1 ---确保每次再进行charindex时,标识位后移
end
end
分享到:
评论

相关推荐

    sqlserver 字符串分割、包含、匹配

    2、按指定符号分割字符串,返回“分割后指定索引的第几个元素”的值,象数组一样方便 3、检查一个元素是否在数组中,返回1或0 4、检查一个元素是否与数组中的相匹配,并返回相匹配的数组的值。参数值为0表示全模糊...

    sqlserver的存储过程与 where in 多值参数

    `CHARINDEX`函数可以用来检测一个字符或字符串是否存在于另一个字符串中。我们可以利用这一点来构建查询,检查每个ID是否存在于传递的参数列表中。例如: ```sql CREATE PROCEDURE usp/DeleteByIds (@idList ...

    字符串分割的字符串数量 SQL

    本篇文章将详细介绍如何利用SQL语言实现这一功能,具体来说是如何编写一个SQL函数来计算给定字符串中由特定分隔符分隔出的子字符串的数量。 #### 题目背景 在实际应用场景中,有时会遇到存储了多个值的字符串字段...

    Sqlserver 2014 之 自定义字符串聚合函数

    在描述中提到的“Sqlserver 2014 之 自定义字符串聚合函数”正是针对这个需求而展开的讨论。 在SQL Server 2014之前,如果要实现类似`STRING_AGG`的功能(这是在SQL Server 2017中引入的),我们需要创建自定义的...

    sql server 2008 将一列值转换成一个字符串

    在SQL Server 2008中,有时我们需要将表中的某一列数据合并成一个单独的字符串,例如将员工编号列合并成一个逗号分隔的字符串。这种操作在生成报表、邮件合并等功能中非常有用。本文的目标是通过一个具体的例子来...

    存储过程拼接字符串

    当我们需要在存储过程中拼接字符串时,通常是为了解决动态SQL构造或者生成报告等需求。在本文中,我们将深入探讨如何在SQL中进行字符串拼接。 一、SQL Server中的字符串拼接 1. 使用`+`运算符 在SQL Server中,最...

    SQL存储过程IN参数的解决办法

    5. **自定义函数**:`Get_StrArrayLength`用于计算逗号分隔字符串中的元素数量,而`Get_StrArrayStrOfIndex`则根据索引返回特定位置的元素。 - **Get_StrArrayLength**函数:计算字符串中分隔符的数量,从而得到...

    sql2000字符串分割,字符串拆分

    输出结果中,“id”列表示每个子字符串在原字符串中的起始位置,“vs”列则是拆分得到的具体子字符串。 #### 总结 通过上述代码示例,我们可以清晰地了解到如何在SQL Server 2000中实现字符串的拆分功能。这种方法...

    sqlserver2008 拆分字符串

    这个解决方案利用了交叉连接(CROSS JOIN)和临时表`#tb`来生成一个数字序列,这个序列可以用来迭代字符串中的每个元素。`SUBSTRING`函数结合`CHARINDEX`函数用于找到逗号分隔的每个值,并创建新的行。最后,我们...

    一个字符串分隔多个参数存储过程调试

    2. 存储过程的编写,包括接收和处理分隔字符串的参数。 3. 数据库系统的调试方法,如设置断点、查看变量值和执行计划。 4. 如何利用数据库管理工具进行存储过程的测试和调试。 5. SQL脚本的编写和导入,用于重现问题...

    解析SQL Server连接字符串信息 编程小实例,C++.net源代码编写

    在本实例中,我们将深入探讨如何解析SQL Server的连接字符串,这是一个编程任务,主要涉及C++和.NET框架。理解并正确处理连接字符串对于任何需要访问SQL Server数据库的应用程序都至关重要。 首先,SQL Server连接...

    Sql拆分字符串

    本文将详细介绍如何使用SQL Server中的存储过程来实现字符串的拆分,并通过一个具体的例子来展示整个过程。 #### SQL字符串拆分背景介绍 在实际业务场景中,我们经常会遇到需要将一个包含多个值的字符串拆分成多个...

    sqlserver中根据字符分割字符串的最好的写法分享

    1. 拼接SQL:首先,我们声明变量@sql来存储原始的分隔字符串,例如"A,B,C,D,E"。同时,声明@split变量来存储分隔符,这里是","。接下来,我们将使用REPLACE函数将原始字符串中的每个分隔符替换为单个的SELECT语句,...

    sqlserver切割字符窜的函数

    此自定义函数名为`f_split`,其主要功能是根据指定的分隔符来切割输入的字符串,并将结果存储在一个临时表中返回。这为那些需要处理大量字符串数据的应用程序提供了极大的便利。 #### 函数定义与结构 ```sql ...

    在SQL Server中使用CLR实现字符串分段排序的研究.pdf

    这个例子中,`SegmentSort`函数接收一个字符串和分隔符,使用`Split`方法分割字符串,`Array.Sort`进行排序,然后使用`string.Join`重新组合排序后的字符串。 【部署CLR程序集到SQL Server】 编译生成的DLL文件需要...

    SQL字符串按殊字符串拆分.zip

    在SQL Server中,处理字符串是常见的任务之一,尤其是在数据分析和数据清洗的过程中。"SQL字符串按殊字符串拆分.zip"这个压缩包文件显然提供了一个解决方案,它帮助用户更快速、便捷地拆分包含特殊字符的字符串。这...

    数据库字符串相加---字符串相加函数

    本文详细介绍了SQL Server 2000环境中自定义字符串拼接函数的实现方法,包括函数定义、代码分析及应用场景等方面。这种自定义函数能够有效地解决复杂场景下的字符串处理问题,提高数据库应用的灵活性和效率。对于...

    SQL Server实现将特定字符串拆分并进行插入操作的方法

    如果当前字符串中没有逗号,意味着这是最后一个用户ID,因此我们将其插入并结束循环。 `NEWID()`函数用于生成新的唯一标识符,这是SQL Server中的一个内置函数,用于生成全局唯一标识符(GUID),这里作为`ID`字段...

    sqlserver转PG经验总结及PG的一些特性

    在进行 SQL Server 数据库迁移至 PostgreSQL 的过程中,一个重要的步骤是确保数据类型的正确映射。以下是 SQL Server 与 PostgreSQL 常见的数据类型对照表: - `char(n)` 映射到 `char(n)` - `varchar(n)` 映射到 `...

    SQLServer中的切割字符串SplitString函数

    在SQL Server中,当需要将一个字符串按照特定的分隔符进行拆分成多个子字符串时,通常会遇到问题,因为SQL Server的标准库中并没有提供内置的Split函数。为了解决这个问题,开发人员经常需要创建自定义的函数来实现...

Global site tag (gtag.js) - Google Analytics