sqlserver拆分,sqlserver拆分下滑下前后数据

sqlserver拆分长字段。正则表达式

([\s\S]*?)(\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2})

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站建设、网站制作、润州网络推广、小程序开发、润州网络营销、润州企业策划、润州品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供润州建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

正则可以这样写

拆分的话

在代码里面做会方便一些吧

SQLServer根据指定字符串拆分字符到临时表函数

Create function [dbo].[split]

(

@SourceSql varchar(max),

@StrSeprate varchar(10)

)

returns @temp table(line varchar(max))

as

begin

declare @i int

set @SourceSql = rtrim(ltrim(@SourceSql))

set @i = charindex(@StrSeprate,@SourceSql)

while @i = 1

begin

if len(left(@SourceSql,@i-1))0

begin

insert @temp values(left(@SourceSql,@i-1))

end

set @SourceSql=substring(@SourceSql,@i+len(@StrSeprate),len(@SourceSql)-@i)

set @i=charindex(@StrSeprate,@SourceSql)

end

if @SourceSql ''

insert @temp values(@SourceSql)

return

end

调用:Select * From dbo.split('1003,1004,1005',',')

结果如下:

100310041005

----------------------------------------------------------------------------------------------------------------------------------

--@column 表示字段或者常量,@paddingChar 表示 补位字符, @len 补位数量, @returnStr

create function [dbo].[PadLeft](@column varchar(16),@paddingChar char(1),@len int)

returns varchar(16) as

begin

declare @returnStr varchar(16)

select @returnStr = isnull(replicate(@paddingChar,@len - len(isnull(@column ,0))), '') + @column

return @returnStr

end

select dbo.PadLeft(2,0,5)

sqlserver 怎么分割字符串

如楼上给的 单独分割一部分    也可用下面的函数 分割出一个集合

-- 1.0 拆分字符串 参数 @strSource要操作的字符串 @strSeparator分隔符

CREATE FUNCTION [dbo].fn_splitStr( @strSource NVARCHAR(4000),@strSeparator NVARCHAR(10) )

RETURNS @tbResult TABLE(id INT IDENTITY(1,1),rs NVARCHAR(1000))

AS

BEGIN

DECLARE @dwIndex INT,@strResult NVARCHAR(1000),@dwSeparatorLen INT=LEN(@strSeparator);

SET @dwIndex = CHARINDEX(@strSeparator,@strSource);-- 取得第一个分隔符的位置

WHILE @dwIndex0

BEGIN

SET @strResult = LEFT(@strSource,@dwIndex-1);

INSERT @tbResult VALUES(@strResult);

--将要操作的字符串去除已切分部分

SET @strSource = SUBSTRING(@strSource,@dwIndex+LEN(@dwIndex),LEN(@strSource));

SET @dwIndex = CHARINDEX(@strSeparator,@strSource); --循环量增加

END

--处理最后一节

IF LEN(@strSource)  0 INSERT @tbResult VALUES(@strSource)

RETURN;

END

GO


网站栏目:sqlserver拆分,sqlserver拆分下滑下前后数据
转载来源:http://myzitong.com/article/dseoihi.html