2. 使用 STRING_SPLIT 函数 现在,我们看一下第二种方法,使用 SQL Server 2016 及更新版本引入的 STRING_SPLIT 函数。 代码语言:javascript 复制 -- 创建临时表 if object_id('tempdb..#Tab') is not null drop table #Tab; if object_id('tempdb..#test') is not null drop table #test; go create...
1. 使用 STRING_SPLIT 函数 在SQL Server 2016 及更高版本中,Microsoft 提供了一个非常有用的内置函数STRING_SPLIT,可以方便地按指定的分隔符分割字符串。该函数返回一个表,其中每一行都是分割后得到的元素。这是最简单和效率较高的方法之一。 示例代码 DECLARE@stringNVARCHAR(MAX)='SQL,Server,Development,Databa...
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_splitSTR]') and xtype in (N'FN', N'IF', N'TF')) drop function [dbo].[f_splitSTR] GO --方法1:循环截取法 CREATE FUNCTION f_splitSTR( @s varchar(8000), --待分拆的字符串 @split varchar(10) --数据...
方法二:使用STRING_SPLIT函数(SQL Server 2016+) 在SQL Server 2016及更高版本中,引入了一个新的内置函数STRING_SPLIT,用于实现字符串的分割。这个函数非常方便,只需要传入要分割的字符串和分隔符即可,返回一个包含分割后值的表。 下面是一个使用STRING_SPLIT函数实现字符串分割的示例代码: DECLARE@stringVARCHAR(100...
实现形式一 :Split 表函数将一个字符串按指定分隔符进行分割,返回一个表 --Split 表函数将一个字符串按指定分隔符进行分割,返回一个表。 create function split( @string varchar(255),--待分割字符串 @separator varchar(255)--分割符 )returns @array table(item varchar(255)) ...
sql server split 分割 两种方法 CREATE FUNCTION Split(@Text NVARCHAR(4000),@Sign NVARCHAR(4000)) RETURNS @tempTable TABLE(id INT IDENTITY(1,1) PRIMARY KEY,[VALUE] NVARCHAR(4000)) AS BEGIN DECLARE @StartIndex INT --开始查找的位置 DECLARE @FindIndex INT --找到的位置...
方法/步骤 1 打开MSSQLServer2016或以上版本 2 新建查询 3 语法:STRING_SPLIT (字符串, 字符串里的分隔符 ),详见下图 4 在查询窗口输入语句,例:select * from string_split('1,2,3,4,5',',')也可以和表列,in搭配使用 5 返回一张拆分出来的字符结果表 6 总结:1.打开MSSQL...
update a set a.[Order]=t.[Id] from [dbo].[表] as a join [dbo].SplitString('1,2,3', ',', 1) as t on a.[Id]=t.[Value] 具体的应用请根据自己的情况来吧:) 方法二: 代码语言:javascript 复制 Createfunction[dbo].[f_split](@aStringvarchar(max),@patternvarchar(10))returns @tem...
1ALTERFUNCTION[dbo].[Fun_SplitStr]2(3@originalStrVARCHAR(8000),--要分割的字符串4@splitvarchar(100)--分隔符号5)6RETURNS@tempTABLE(ResultVARCHAR(100))7AS8BEGIN9DECLARE@resultASVARCHAR(100);--定义变量用于接收单个结果1011SET@originalStr=@originalStr+@split;1213WHILE(@originalStr<>'')14BEGIN15SET...
INSERT @SplitStr SELECT SUBSTRING(@str, 1, CHARINDEX(@char, @str) - 1) SELECT @str = RIGHT(@str, LEN(@str) - CHARINDEX(@char, @str) - (LEN(@char) - 1)) END RETURN END 以上方法从SQL SERVER 2000时代就可以使用,可以说是最具版本兼容性的写法。