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

 更新时间:2016年08月10日 10:35:19   作者:Quber  
这篇文章主要介绍了SQL Server实现split函数分割字符串功能及用法,结合实例形式分析了SQL Server实现split分割字符串的相关技巧与使用方法,需要的朋友可以参考下

本文实例讲述了SQL Server实现split函数分割字符串功能及用法。分享给大家供大家参考,具体如下:

/*
函数名称:f_SplitToNvarchar
作用:实现split功能的函数
更新记录:
设计思路:将nvarchar类型字符结合的一个串,分隔到一张只有一列nvarchar类型的表里
*/
CREATE FUNCTION [dbo].[f_SplitToNvarchar]
(
@SourceSql  NVARCHAR(MAX),--源分隔字符串
@StrSeprate VARCHAR(10)--分隔符
)
RETURNS @temp TABLE(col NVARCHAR(MAX))
AS
BEGIN
DECLARE @i INT
SET @SourceSql = RTRIM(LTRIM(@SourceSql))
SET @i = CHARINDEX(@StrSeprate, @SourceSql)
WHILE @i >= 1
BEGIN
  INSERT @temp
  VALUES
   (
    LEFT(@SourceSql, @i -1)
   )
  SET @SourceSql = SUBSTRING(@SourceSql, @i + 1, LEN(@SourceSql) -@i)
  SET @i = CHARINDEX(@StrSeprate, @SourceSql)
END
IF @SourceSql <> '\'
  INSERT @temp
  VALUES
   (
    @SourceSql
   )
RETURN
END
GO

调用示例:

SELECT col FROM f_SplitToNvarchar('1,2,3,4',',');

如图所示:

希望本文所述对大家SQL Server数据库程序设计有所帮助。

相关文章

  • SQL中distinct的用法(四种示例分析)

    SQL中distinct的用法(四种示例分析)

    distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只能返回它的目标字段,而无法返回其它字段,接下来通过本篇文章给大家分享SQL中distinct的用法,需要的朋友可以参考下
    2015-09-09
  • 参考sql2012存储过程写的统计所有用户表尺寸大小的示例

    参考sql2012存储过程写的统计所有用户表尺寸大小的示例

    参考SQL2005, 2008和2012的系统存储过程master.sys.sp_spaceused代码后,写了下面一条语句来方便平时统计所有用户表尺寸大小
    2014-01-01
  • 简单触发器的使用 献给SQL初学者

    简单触发器的使用 献给SQL初学者

    简单触发器的使用 献给SQL初学者,使用sqlserver的朋友可以参考下。
    2011-09-09
  • SQL 中having 和where的区别分析

    SQL 中having 和where的区别分析

    在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集
    2012-11-11
  • SQL事务用法begin tran,commit tran和rollback tran的用法

    SQL事务用法begin tran,commit tran和rollback tran的用法

    Sql Server 2005/2008中提供了begin tran,commit tran和rollback tran来使用事务。begin tran表示开始事务, commit tran表示提交事务,rollback tran表示回滚事物
    2011-12-12
  • Python版Mssql爆破小脚本

    Python版Mssql爆破小脚本

    本文给大家分享的是使用Python实现的暴力破解mssql用户密码的脚本的代码,配合上合适的字典非常好用,有需要的小伙伴可以参考下
    2016-10-10
  • SQL Server中搜索特定的对象

    SQL Server中搜索特定的对象

    这篇文章介绍了SQL Server搜索特定对象的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • SQL SERVER数据库登陆错误18456解决过程

    SQL SERVER数据库登陆错误18456解决过程

    这篇文章主要介绍了SQL SERVER数据库登陆错误18456解决过程,18456错误是因密码或用户名错误而使身份验证失败并导致连接尝试被拒或者账户被锁定无法sa登录,按照如下操作依次排查解决,需要的朋友可以参考下
    2024-10-10
  • 如何远程连接SQL Server数据库的图文教程

    如何远程连接SQL Server数据库的图文教程

    如何远程连接SQL Server数据库的图文教程...
    2007-03-03
  • SQL Server 数据库优化

    SQL Server 数据库优化

    设计1个应用系统似乎并不难,但是要想使系统达到最优化的性能并不是一件容易的事。
    2009-07-07

最新评论