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://ybzwz.com/article/dseoihi.html