SQL Server 中LEN函数的问题

LEN('T ') =1

LEN(' T') =2

在数据库中分解字符串时要注意,例如以'^'分隔'X ^ T ',分解时要注意最后的'T '被分解成'T'

可用如下的代码来进行完整的分解

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE function [dbo].[FnsplitWithEmpty](@SourceStr varchar(8000),@StrSeprate varchar(10))
returns @temp table(id int, strList varchar(1000))
as
begin
declare @i int
--set @SourceStr = rtrim(ltrim(@SourceStr))
set @i = charindex(@StrSeprate,@SourceStr)
declare @j int
set @j = 0
while @i>=1
begin
insert @temp values(@j,left(@SourceStr,@i-1))
set @SourceStr = substring(@SourceStr,@i+1,len(@SourceStr + 'x') - 1 -@i)
set @i = charindex(@StrSeprate,@SourceStr)
set @j = @j + 1
end
if @SourceStr <> ''
insert @temp values(@j,@SourceStr)
return
end
上一篇:windows系统下操作nginx的命令


下一篇:http错误码