一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Sql Server - SQLServer中的切割字符串SplitString函數

SQLServer中的切割字符串SplitString函數

2019-12-11 14:21Kudy Sql Server

有時我們要用到批量操作時都會對字符串進行拆分,可是SQL Server中卻沒有自帶Split函數,所以要自己來實現了。沒什么好說的,需要的朋友直接拿去用吧

代碼如下:


SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
/* 
by kudychen 2011-9-28 
*/ 
CREATE function [dbo].[SplitString] 

@Input nvarchar(max), --input string to be separated 
@Separator nvarchar(max)=',', --a string that delimit the substrings in the input string 
@RemoveEmptyEntries bit=1 --the return value does not include array elements that contain an empty string 

returns @TABLE table 

[Id] int identity(1,1), 
[Value] nvarchar(max) 

as 
begin 
declare @Index int, @Entry nvarchar(max) 
set @Index = charindex(@Separator,@Input) 
while (@Index>0) 
begin 
set @Entry=ltrim(rtrim(substring(@Input, 1, @Index-1))) 
if (@RemoveEmptyEntries=0) or (@RemoveEmptyEntries=1 and @Entry<>'') 
begin 
insert into @TABLE([Value]) Values(@Entry) 
end 
set @Input = substring(@Input, @Index+datalength(@Separator)/2, len(@Input)) 
set @Index = charindex(@Separator, @Input) 
end 
set @Entry=ltrim(rtrim(@Input)) 
if (@RemoveEmptyEntries=0) or (@RemoveEmptyEntries=1 and @Entry<>'') 
begin 
insert into @TABLE([Value]) Values(@Entry) 
end 
return 
end 


如何使用: 

復制代碼代碼如下:


declare @str1 varchar(max), @str2 varchar(max), @str3 varchar(max) 
set @str1 = '1,2,3' 
set @str2 = '1###2###3' 
set @str3 = '1###2###3###' 
select [Value] from [dbo].[SplitString](@str1, ',', 1) 
select [Value] from [dbo].[SplitString](@str2, '###', 1) 
select [Value] from [dbo].[SplitString](@str3, '###', 0) 


執行結果: 

SQLServer中的切割字符串SplitString函數

里面還有個自增的[Id]字段哦,在某些情況下有可能會用上的,例如根據Id來保存排序等等。 

例如根據某表的ID保存排序: 

復制代碼代碼如下:

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]



具體的應用請根據自己的情況來吧:)
作者:Kudy

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩欧美一区二区三区免费看 | 美女黄板视频 | 美女被草逼 | 欧美另类videos另类粗暴 | 500福利第一巨人导航 | 国产精品亚洲va在线观看 | 免费看打屁股视频的软件 | 俄罗斯美女大逼 | 亚洲男人天堂a | 欧美性4khd720 | 日韩 欧美 国产 亚洲 中文 | 欧美日韩高清一区 | 国产精品天天影视久久综合网 | 人阁色第四影院在线观看 | 热99精品只有里视频最新 | 国产欧美日韩不卡一区二区三区 | 亚洲成人免费看 | 99pao在线视频精品免费 | 99久久精品免费看国产高清 | 国产最新精品视频 | 午夜毛片在线观看 | 热久久最新视频 | 99热这里只有精 | 2021国产麻豆剧传媒剧情动漫 | 波多野结衣黑人系列在线观看 | 日本三级在线观看免费 | 91香蕉在线 | 亚洲精品色综合久久 | 秋霞午夜 | 午夜 在线播放 | 93版高校教师| 亚洲AV永久无码精品老司机蜜桃 | 亚洲 无码 制服 日韩 | 国产专区一va亚洲v天堂 | 国内自拍视频在线观看 | 四虎影视永久在线观看 | 国产成人福利美女观看视频 | 欧美3p大片在线观看完整版 | mm131亚洲精品久久 | 无人区1在线观看 | 精品麻豆 |